@usesigil/kit 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/dist/advanced-analytics.d.ts +3 -2
- package/dist/advanced-analytics.d.ts.map +1 -1
- package/dist/advanced-analytics.js +9 -42
- package/dist/advanced-analytics.js.map +1 -1
- package/dist/agent-bootstrap.d.ts +117 -0
- package/dist/agent-bootstrap.d.ts.map +1 -0
- package/dist/agent-bootstrap.js +211 -0
- package/dist/agent-bootstrap.js.map +1 -0
- package/dist/agent-errors.d.ts +20 -4
- package/dist/agent-errors.d.ts.map +1 -1
- package/dist/agent-errors.js +947 -377
- package/dist/agent-errors.js.map +1 -1
- package/dist/audit-log.d.ts +101 -0
- package/dist/audit-log.d.ts.map +1 -0
- package/dist/audit-log.js +145 -0
- package/dist/audit-log.js.map +1 -0
- package/dist/build-unsigned.d.ts +152 -0
- package/dist/build-unsigned.d.ts.map +1 -0
- package/dist/build-unsigned.js +152 -0
- package/dist/build-unsigned.js.map +1 -0
- package/dist/caip2-network.d.ts +171 -0
- package/dist/caip2-network.d.ts.map +1 -0
- package/dist/caip2-network.js +202 -0
- package/dist/caip2-network.js.map +1 -0
- package/dist/canonical-encode.d.ts +59 -0
- package/dist/canonical-encode.d.ts.map +1 -0
- package/dist/canonical-encode.js +141 -0
- package/dist/canonical-encode.js.map +1 -0
- package/dist/cosign-helper.d.ts +264 -0
- package/dist/cosign-helper.d.ts.map +1 -0
- package/dist/cosign-helper.js +147 -0
- package/dist/cosign-helper.js.map +1 -0
- package/dist/create-vault.d.ts +102 -1
- package/dist/create-vault.d.ts.map +1 -1
- package/dist/create-vault.js +108 -9
- package/dist/create-vault.js.map +1 -1
- package/dist/dashboard/close-vault.d.ts +110 -0
- package/dist/dashboard/close-vault.d.ts.map +1 -0
- package/dist/dashboard/close-vault.js +165 -0
- package/dist/dashboard/close-vault.js.map +1 -0
- package/dist/dashboard/errors.d.ts +37 -0
- package/dist/dashboard/errors.d.ts.map +1 -1
- package/dist/dashboard/errors.js +81 -1
- package/dist/dashboard/errors.js.map +1 -1
- package/dist/dashboard/from-json.d.ts.map +1 -1
- package/dist/dashboard/from-json.js +1 -2
- package/dist/dashboard/from-json.js.map +1 -1
- package/dist/dashboard/index.d.ts +204 -31
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +290 -49
- package/dist/dashboard/index.js.map +1 -1
- package/dist/dashboard/mutations.d.ts +160 -10
- package/dist/dashboard/mutations.d.ts.map +1 -1
- package/dist/dashboard/mutations.js +584 -66
- package/dist/dashboard/mutations.js.map +1 -1
- package/dist/dashboard/post-assertion-validation.d.ts +88 -0
- package/dist/dashboard/post-assertion-validation.d.ts.map +1 -0
- package/dist/dashboard/post-assertion-validation.js +312 -0
- package/dist/dashboard/post-assertion-validation.js.map +1 -0
- package/dist/dashboard/reads.d.ts +92 -1
- package/dist/dashboard/reads.d.ts.map +1 -1
- package/dist/dashboard/reads.js +244 -26
- package/dist/dashboard/reads.js.map +1 -1
- package/dist/dashboard/types.d.ts +172 -21
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/errors/agent-errors.generated.d.ts +21 -0
- package/dist/errors/agent-errors.generated.d.ts.map +1 -0
- package/dist/errors/agent-errors.generated.js +133 -0
- package/dist/errors/agent-errors.generated.js.map +1 -0
- package/dist/errors/codes.d.ts +21 -2
- package/dist/errors/codes.d.ts.map +1 -1
- package/dist/errors/codes.js +20 -1
- package/dist/errors/codes.js.map +1 -1
- package/dist/errors/context.d.ts +9 -1
- package/dist/errors/context.d.ts.map +1 -1
- package/dist/event-analytics.d.ts +1 -3
- package/dist/event-analytics.d.ts.map +1 -1
- package/dist/event-analytics.js +28 -81
- package/dist/event-analytics.js.map +1 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +23 -13
- package/dist/events.js.map +1 -1
- package/dist/generated/accounts/agentSpendOverlay.d.ts +60 -0
- package/dist/generated/accounts/agentSpendOverlay.d.ts.map +1 -1
- package/dist/generated/accounts/agentSpendOverlay.js +6 -2
- package/dist/generated/accounts/agentSpendOverlay.js.map +1 -1
- package/dist/generated/accounts/agentVault.d.ts +168 -4
- package/dist/generated/accounts/agentVault.d.ts.map +1 -1
- package/dist/generated/accounts/agentVault.js +11 -3
- package/dist/generated/accounts/agentVault.js.map +1 -1
- package/dist/generated/accounts/auditLogRejected.d.ts +66 -0
- package/dist/generated/accounts/auditLogRejected.d.ts.map +1 -0
- package/dist/generated/accounts/auditLogRejected.js +68 -0
- package/dist/generated/accounts/auditLogRejected.js.map +1 -0
- package/dist/generated/accounts/auditLogSuccess.d.ts +78 -0
- package/dist/generated/accounts/auditLogSuccess.d.ts.map +1 -0
- package/dist/generated/accounts/auditLogSuccess.js +68 -0
- package/dist/generated/accounts/auditLogSuccess.js.map +1 -0
- package/dist/generated/accounts/index.d.ts +4 -4
- package/dist/generated/accounts/index.d.ts.map +1 -1
- package/dist/generated/accounts/index.js +4 -4
- package/dist/generated/accounts/index.js.map +1 -1
- package/dist/generated/accounts/pendingAgentGrant.d.ts +199 -0
- package/dist/generated/accounts/pendingAgentGrant.d.ts.map +1 -0
- package/dist/generated/accounts/pendingAgentGrant.js +75 -0
- package/dist/generated/accounts/pendingAgentGrant.js.map +1 -0
- package/dist/generated/accounts/pendingAgentPermissionsUpdate.d.ts +76 -0
- package/dist/generated/accounts/pendingAgentPermissionsUpdate.d.ts.map +1 -1
- package/dist/generated/accounts/pendingAgentPermissionsUpdate.js +9 -1
- package/dist/generated/accounts/pendingAgentPermissionsUpdate.js.map +1 -1
- package/dist/generated/accounts/pendingOwnershipTransfer.d.ts +131 -0
- package/dist/generated/accounts/pendingOwnershipTransfer.d.ts.map +1 -0
- package/dist/generated/accounts/pendingOwnershipTransfer.js +76 -0
- package/dist/generated/accounts/pendingOwnershipTransfer.js.map +1 -0
- package/dist/generated/accounts/pendingPolicyUpdate.d.ts +220 -4
- package/dist/generated/accounts/pendingPolicyUpdate.d.ts.map +1 -1
- package/dist/generated/accounts/pendingPolicyUpdate.js +25 -5
- package/dist/generated/accounts/pendingPolicyUpdate.js.map +1 -1
- package/dist/generated/accounts/policyConfig.d.ts +495 -34
- package/dist/generated/accounts/policyConfig.d.ts.map +1 -1
- package/dist/generated/accounts/policyConfig.js +34 -7
- package/dist/generated/accounts/policyConfig.js.map +1 -1
- package/dist/generated/accounts/postExecutionAssertions.d.ts +2 -2
- package/dist/generated/accounts/postExecutionAssertions.d.ts.map +1 -1
- package/dist/generated/accounts/postExecutionAssertions.js +3 -3
- package/dist/generated/accounts/sessionAuthority.d.ts +154 -12
- package/dist/generated/accounts/sessionAuthority.d.ts.map +1 -1
- package/dist/generated/accounts/sessionAuthority.js +12 -10
- package/dist/generated/accounts/sessionAuthority.js.map +1 -1
- package/dist/generated/accounts/spendTracker.d.ts +83 -3
- package/dist/generated/accounts/spendTracker.d.ts.map +1 -1
- package/dist/generated/accounts/spendTracker.js +14 -2
- package/dist/generated/accounts/spendTracker.js.map +1 -1
- package/dist/generated/errors/sigil.d.ts +160 -100
- package/dist/generated/errors/sigil.d.ts.map +1 -1
- package/dist/generated/errors/sigil.js +214 -124
- package/dist/generated/errors/sigil.js.map +1 -1
- package/dist/generated/event-discriminators.d.ts.map +1 -1
- package/dist/generated/event-discriminators.js +11 -13
- package/dist/generated/event-discriminators.js.map +1 -1
- package/dist/generated/instructions/acceptOwnershipTransfer.d.ts +142 -0
- package/dist/generated/instructions/acceptOwnershipTransfer.d.ts.map +1 -0
- package/dist/generated/instructions/acceptOwnershipTransfer.js +171 -0
- package/dist/generated/instructions/acceptOwnershipTransfer.js.map +1 -0
- package/dist/generated/instructions/acceptOwnershipTransferMultisig.d.ts +142 -0
- package/dist/generated/instructions/acceptOwnershipTransferMultisig.d.ts.map +1 -0
- package/dist/generated/instructions/acceptOwnershipTransferMultisig.js +171 -0
- package/dist/generated/instructions/acceptOwnershipTransferMultisig.js.map +1 -0
- package/dist/generated/instructions/applyAgentGrant.d.ts +100 -0
- package/dist/generated/instructions/applyAgentGrant.d.ts.map +1 -0
- package/dist/generated/instructions/{applyConstraintsUpdate.js → applyAgentGrant.js} +66 -42
- package/dist/generated/instructions/applyAgentGrant.js.map +1 -0
- package/dist/generated/instructions/applyAgentPermissionsUpdate.d.ts +31 -8
- package/dist/generated/instructions/applyAgentPermissionsUpdate.d.ts.map +1 -1
- package/dist/generated/instructions/applyAgentPermissionsUpdate.js +38 -2
- package/dist/generated/instructions/applyAgentPermissionsUpdate.js.map +1 -1
- package/dist/generated/instructions/applyPendingPolicy.d.ts +18 -7
- package/dist/generated/instructions/applyPendingPolicy.d.ts.map +1 -1
- package/dist/generated/instructions/applyPendingPolicy.js +38 -2
- package/dist/generated/instructions/applyPendingPolicy.js.map +1 -1
- package/dist/generated/instructions/cancelAgentGrant.d.ts +106 -0
- package/dist/generated/instructions/cancelAgentGrant.d.ts.map +1 -0
- package/dist/generated/instructions/{allocatePendingConstraintsPda.js → cancelAgentGrant.js} +54 -42
- package/dist/generated/instructions/cancelAgentGrant.js.map +1 -0
- package/dist/generated/instructions/cancelOwnershipTransfer.d.ts +121 -0
- package/dist/generated/instructions/cancelOwnershipTransfer.d.ts.map +1 -0
- package/dist/generated/instructions/{queueCloseConstraints.js → cancelOwnershipTransfer.js} +58 -44
- package/dist/generated/instructions/cancelOwnershipTransfer.js.map +1 -0
- package/dist/generated/instructions/closePostAssertions.d.ts +6 -1
- package/dist/generated/instructions/closePostAssertions.d.ts.map +1 -1
- package/dist/generated/instructions/closePostAssertions.js +11 -3
- package/dist/generated/instructions/closePostAssertions.js.map +1 -1
- package/dist/generated/instructions/closeVault.d.ts +40 -8
- package/dist/generated/instructions/closeVault.d.ts.map +1 -1
- package/dist/generated/instructions/closeVault.js +40 -2
- package/dist/generated/instructions/closeVault.js.map +1 -1
- package/dist/generated/instructions/createPostAssertions.d.ts +4 -0
- package/dist/generated/instructions/createPostAssertions.d.ts.map +1 -1
- package/dist/generated/instructions/createPostAssertions.js +2 -0
- package/dist/generated/instructions/createPostAssertions.js.map +1 -1
- package/dist/generated/instructions/depositFunds.d.ts +21 -10
- package/dist/generated/instructions/depositFunds.d.ts.map +1 -1
- package/dist/generated/instructions/depositFunds.js +37 -2
- package/dist/generated/instructions/depositFunds.js.map +1 -1
- package/dist/generated/instructions/finalizeSession.d.ts +49 -7
- package/dist/generated/instructions/finalizeSession.d.ts.map +1 -1
- package/dist/generated/instructions/finalizeSession.js +59 -2
- package/dist/generated/instructions/finalizeSession.js.map +1 -1
- package/dist/generated/instructions/freezeVault.d.ts +39 -5
- package/dist/generated/instructions/freezeVault.d.ts.map +1 -1
- package/dist/generated/instructions/freezeVault.js +77 -5
- package/dist/generated/instructions/freezeVault.js.map +1 -1
- package/dist/generated/instructions/index.d.ts +10 -14
- package/dist/generated/instructions/index.d.ts.map +1 -1
- package/dist/generated/instructions/index.js +10 -14
- package/dist/generated/instructions/index.js.map +1 -1
- package/dist/generated/instructions/initializeVault.d.ts +79 -13
- package/dist/generated/instructions/initializeVault.d.ts.map +1 -1
- package/dist/generated/instructions/initializeVault.js +57 -5
- package/dist/generated/instructions/initializeVault.js.map +1 -1
- package/dist/generated/instructions/initiateOwnershipTransfer.d.ts +106 -0
- package/dist/generated/instructions/initiateOwnershipTransfer.d.ts.map +1 -0
- package/dist/generated/instructions/initiateOwnershipTransfer.js +181 -0
- package/dist/generated/instructions/initiateOwnershipTransfer.js.map +1 -0
- package/dist/generated/instructions/pauseAgent.d.ts +49 -5
- package/dist/generated/instructions/pauseAgent.d.ts.map +1 -1
- package/dist/generated/instructions/pauseAgent.js +80 -5
- package/dist/generated/instructions/pauseAgent.js.map +1 -1
- package/dist/generated/instructions/promoteGraylistDestination.d.ts +56 -0
- package/dist/generated/instructions/promoteGraylistDestination.d.ts.map +1 -0
- package/dist/generated/instructions/{createInstructionConstraints.js → promoteGraylistDestination.js} +23 -40
- package/dist/generated/instructions/promoteGraylistDestination.js.map +1 -0
- package/dist/generated/instructions/queueAgentGrant.d.ts +113 -0
- package/dist/generated/instructions/queueAgentGrant.d.ts.map +1 -0
- package/dist/generated/instructions/queueAgentGrant.js +181 -0
- package/dist/generated/instructions/queueAgentGrant.js.map +1 -0
- package/dist/generated/instructions/queueAgentPermissionsUpdate.d.ts +8 -0
- package/dist/generated/instructions/queueAgentPermissionsUpdate.d.ts.map +1 -1
- package/dist/generated/instructions/queueAgentPermissionsUpdate.js +4 -0
- package/dist/generated/instructions/queueAgentPermissionsUpdate.js.map +1 -1
- package/dist/generated/instructions/queuePolicyUpdate.d.ts +40 -8
- package/dist/generated/instructions/queuePolicyUpdate.d.ts.map +1 -1
- package/dist/generated/instructions/queuePolicyUpdate.js +21 -5
- package/dist/generated/instructions/queuePolicyUpdate.js.map +1 -1
- package/dist/generated/instructions/reactivateVault.d.ts +71 -5
- package/dist/generated/instructions/reactivateVault.d.ts.map +1 -1
- package/dist/generated/instructions/reactivateVault.js +80 -5
- package/dist/generated/instructions/reactivateVault.js.map +1 -1
- package/dist/generated/instructions/recordAgentViolation.d.ts +89 -0
- package/dist/generated/instructions/recordAgentViolation.d.ts.map +1 -0
- package/dist/generated/instructions/recordAgentViolation.js +152 -0
- package/dist/generated/instructions/recordAgentViolation.js.map +1 -0
- package/dist/generated/instructions/registerAgent.d.ts +84 -6
- package/dist/generated/instructions/registerAgent.d.ts.map +1 -1
- package/dist/generated/instructions/registerAgent.js +81 -4
- package/dist/generated/instructions/registerAgent.js.map +1 -1
- package/dist/generated/instructions/revokeAgent.d.ts +49 -6
- package/dist/generated/instructions/revokeAgent.d.ts.map +1 -1
- package/dist/generated/instructions/revokeAgent.js +81 -4
- package/dist/generated/instructions/revokeAgent.js.map +1 -1
- package/dist/generated/instructions/setObserveOnly.d.ts +56 -0
- package/dist/generated/instructions/setObserveOnly.d.ts.map +1 -0
- package/dist/generated/instructions/setObserveOnly.js +111 -0
- package/dist/generated/instructions/setObserveOnly.js.map +1 -0
- package/dist/generated/instructions/unpauseAgent.d.ts +46 -5
- package/dist/generated/instructions/unpauseAgent.d.ts.map +1 -1
- package/dist/generated/instructions/unpauseAgent.js +80 -5
- package/dist/generated/instructions/unpauseAgent.js.map +1 -1
- package/dist/generated/instructions/validateAndAuthorize.d.ts +29 -0
- package/dist/generated/instructions/validateAndAuthorize.d.ts.map +1 -1
- package/dist/generated/instructions/validateAndAuthorize.js +4 -0
- package/dist/generated/instructions/validateAndAuthorize.js.map +1 -1
- package/dist/generated/instructions/withdrawFunds.d.ts +53 -11
- package/dist/generated/instructions/withdrawFunds.d.ts.map +1 -1
- package/dist/generated/instructions/withdrawFunds.js +51 -2
- package/dist/generated/instructions/withdrawFunds.js.map +1 -1
- package/dist/generated/programs/sigil.d.ts +79 -95
- package/dist/generated/programs/sigil.d.ts.map +1 -1
- package/dist/generated/programs/sigil.js +139 -187
- package/dist/generated/programs/sigil.js.map +1 -1
- package/dist/generated/types/actionAuthorized.d.ts +0 -2
- package/dist/generated/types/actionAuthorized.d.ts.map +1 -1
- package/dist/generated/types/actionAuthorized.js +0 -2
- package/dist/generated/types/actionAuthorized.js.map +1 -1
- package/dist/generated/types/agentAutoRevoked.d.ts +31 -0
- package/dist/generated/types/agentAutoRevoked.d.ts.map +1 -0
- package/dist/generated/types/{pdaAllocated.js → agentAutoRevoked.js} +12 -10
- package/dist/generated/types/agentAutoRevoked.js.map +1 -0
- package/dist/generated/types/agentEntry.d.ts +48 -0
- package/dist/generated/types/agentEntry.d.ts.map +1 -1
- package/dist/generated/types/agentEntry.js +4 -2
- package/dist/generated/types/agentEntry.js.map +1 -1
- package/dist/generated/types/agentGrantApplied.d.ts +38 -0
- package/dist/generated/types/agentGrantApplied.d.ts.map +1 -0
- package/dist/generated/types/agentGrantApplied.js +34 -0
- package/dist/generated/types/agentGrantApplied.js.map +1 -0
- package/dist/generated/types/agentGrantCancelled.d.ts +33 -0
- package/dist/generated/types/agentGrantCancelled.d.ts.map +1 -0
- package/dist/generated/types/agentGrantCancelled.js +28 -0
- package/dist/generated/types/agentGrantCancelled.js.map +1 -0
- package/dist/generated/types/agentGrantQueued.d.ts +38 -0
- package/dist/generated/types/agentGrantQueued.d.ts.map +1 -0
- package/dist/generated/types/agentGrantQueued.js +32 -0
- package/dist/generated/types/agentGrantQueued.js.map +1 -0
- package/dist/generated/types/auditEntry.d.ts +120 -0
- package/dist/generated/types/auditEntry.d.ts.map +1 -0
- package/dist/generated/types/auditEntry.js +34 -0
- package/dist/generated/types/auditEntry.js.map +1 -0
- package/dist/generated/types/destinationGraylistEntry.d.ts +32 -0
- package/dist/generated/types/destinationGraylistEntry.d.ts.map +1 -0
- package/dist/generated/types/destinationGraylistEntry.js +24 -0
- package/dist/generated/types/destinationGraylistEntry.js.map +1 -0
- package/dist/generated/types/graylistEntered.d.ts +31 -0
- package/dist/generated/types/graylistEntered.d.ts.map +1 -0
- package/dist/generated/types/graylistEntered.js +30 -0
- package/dist/generated/types/graylistEntered.js.map +1 -0
- package/dist/generated/types/graylistPromoted.d.ts +29 -0
- package/dist/generated/types/graylistPromoted.d.ts.map +1 -0
- package/dist/generated/types/graylistPromoted.js +28 -0
- package/dist/generated/types/graylistPromoted.js.map +1 -0
- package/dist/generated/types/index.d.ts +13 -21
- package/dist/generated/types/index.d.ts.map +1 -1
- package/dist/generated/types/index.js +13 -21
- package/dist/generated/types/index.js.map +1 -1
- package/dist/generated/types/observeOnlyChanged.d.ts +33 -0
- package/dist/generated/types/observeOnlyChanged.d.ts.map +1 -0
- package/dist/generated/types/observeOnlyChanged.js +32 -0
- package/dist/generated/types/observeOnlyChanged.js.map +1 -0
- package/dist/generated/types/ownershipTransferAccepted.d.ts +32 -0
- package/dist/generated/types/ownershipTransferAccepted.d.ts.map +1 -0
- package/dist/generated/types/ownershipTransferAccepted.js +30 -0
- package/dist/generated/types/ownershipTransferAccepted.js.map +1 -0
- package/dist/generated/types/ownershipTransferCancelled.d.ts +29 -0
- package/dist/generated/types/ownershipTransferCancelled.d.ts.map +1 -0
- package/dist/generated/types/ownershipTransferCancelled.js +28 -0
- package/dist/generated/types/ownershipTransferCancelled.js.map +1 -0
- package/dist/generated/types/ownershipTransferInitiated.d.ts +33 -0
- package/dist/generated/types/ownershipTransferInitiated.d.ts.map +1 -0
- package/dist/generated/types/ownershipTransferInitiated.js +30 -0
- package/dist/generated/types/ownershipTransferInitiated.js.map +1 -0
- package/dist/generated/types/perRecipientCounter.d.ts +61 -0
- package/dist/generated/types/perRecipientCounter.d.ts.map +1 -0
- package/dist/generated/types/perRecipientCounter.js +26 -0
- package/dist/generated/types/perRecipientCounter.js.map +1 -0
- package/dist/generated/types/postAssertionEntry.d.ts +14 -7
- package/dist/generated/types/postAssertionEntry.d.ts.map +1 -1
- package/dist/generated/types/postAssertionEntry.js +5 -7
- package/dist/generated/types/postAssertionEntry.js.map +1 -1
- package/dist/generated/types/postAssertionEntryZC.d.ts +53 -22
- package/dist/generated/types/postAssertionEntryZC.d.ts.map +1 -1
- package/dist/generated/types/postAssertionEntryZC.js +4 -6
- package/dist/generated/types/postAssertionEntryZC.js.map +1 -1
- package/dist/generated/types/sessionFinalized.d.ts +0 -4
- package/dist/generated/types/sessionFinalized.d.ts.map +1 -1
- package/dist/generated/types/sessionFinalized.js +0 -2
- package/dist/generated/types/sessionFinalized.js.map +1 -1
- package/dist/generated/types/vaultFrozen.d.ts +26 -0
- package/dist/generated/types/vaultFrozen.d.ts.map +1 -1
- package/dist/generated/types/vaultFrozen.js +5 -1
- package/dist/generated/types/vaultFrozen.js.map +1 -1
- package/dist/index.d.ts +35 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -7
- package/dist/index.js.map +1 -1
- package/dist/inscribe.d.ts +0 -4
- package/dist/inscribe.d.ts.map +1 -1
- package/dist/inscribe.js +0 -1
- package/dist/inscribe.js.map +1 -1
- package/dist/inspector.d.ts +0 -23
- package/dist/inspector.d.ts.map +1 -1
- package/dist/inspector.js +0 -52
- package/dist/inspector.js.map +1 -1
- package/dist/kit-adapter.d.ts +1 -1
- package/dist/kit-adapter.d.ts.map +1 -1
- package/dist/kit-adapter.js +1 -1
- package/dist/kit-adapter.js.map +1 -1
- package/dist/logger.d.ts +48 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +36 -0
- package/dist/logger.js.map +1 -1
- package/dist/multisig-detection.d.ts +83 -0
- package/dist/multisig-detection.d.ts.map +1 -0
- package/dist/multisig-detection.js +128 -0
- package/dist/multisig-detection.js.map +1 -0
- package/dist/owner-transaction.d.ts +8 -0
- package/dist/owner-transaction.d.ts.map +1 -1
- package/dist/owner-transaction.js +1 -0
- package/dist/owner-transaction.js.map +1 -1
- package/dist/ownership-transfer.d.ts +79 -0
- package/dist/ownership-transfer.d.ts.map +1 -0
- package/dist/ownership-transfer.js +66 -0
- package/dist/ownership-transfer.js.map +1 -0
- package/dist/policy/compute-cosign-digest.d.ts +193 -0
- package/dist/policy/compute-cosign-digest.d.ts.map +1 -0
- package/dist/policy/compute-cosign-digest.js +318 -0
- package/dist/policy/compute-cosign-digest.js.map +1 -0
- package/dist/policy/compute-policy-preview-digest.d.ts +258 -0
- package/dist/policy/compute-policy-preview-digest.d.ts.map +1 -0
- package/dist/policy/compute-policy-preview-digest.js +351 -0
- package/dist/policy/compute-policy-preview-digest.js.map +1 -0
- package/dist/policy-attestation.d.ts +51 -0
- package/dist/policy-attestation.d.ts.map +1 -0
- package/dist/policy-attestation.js +43 -0
- package/dist/policy-attestation.js.map +1 -0
- package/dist/presets.d.ts +1 -7
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +0 -5
- package/dist/presets.js.map +1 -1
- package/dist/preview-create-vault.d.ts +280 -0
- package/dist/preview-create-vault.d.ts.map +1 -0
- package/dist/preview-create-vault.js +498 -0
- package/dist/preview-create-vault.js.map +1 -0
- package/dist/resolve-accounts.d.ts +75 -10
- package/dist/resolve-accounts.d.ts.map +1 -1
- package/dist/resolve-accounts.js +68 -32
- package/dist/resolve-accounts.js.map +1 -1
- package/dist/rpc-helpers.d.ts +29 -3
- package/dist/rpc-helpers.d.ts.map +1 -1
- package/dist/rpc-helpers.js +51 -12
- package/dist/rpc-helpers.js.map +1 -1
- package/dist/seal/intent-digest.d.ts +195 -0
- package/dist/seal/intent-digest.d.ts.map +1 -0
- package/dist/seal/intent-digest.js +372 -0
- package/dist/seal/intent-digest.js.map +1 -0
- package/dist/seal.d.ts +166 -3
- package/dist/seal.d.ts.map +1 -1
- package/dist/seal.js +428 -8
- package/dist/seal.js.map +1 -1
- package/dist/security-analytics.d.ts +3 -3
- package/dist/security-analytics.d.ts.map +1 -1
- package/dist/security-analytics.js +13 -128
- package/dist/security-analytics.js.map +1 -1
- package/dist/session-mint.d.ts +72 -0
- package/dist/session-mint.d.ts.map +1 -0
- package/dist/session-mint.js +59 -0
- package/dist/session-mint.js.map +1 -0
- package/dist/sigil.d.ts +0 -4
- package/dist/sigil.d.ts.map +1 -1
- package/dist/simulation.d.ts +19 -0
- package/dist/simulation.d.ts.map +1 -1
- package/dist/simulation.js +211 -138
- package/dist/simulation.js.map +1 -1
- package/dist/squads-detection.d.ts +135 -0
- package/dist/squads-detection.d.ts.map +1 -0
- package/dist/squads-detection.js +124 -0
- package/dist/squads-detection.js.map +1 -0
- package/dist/state-resolver.d.ts +0 -16
- package/dist/state-resolver.d.ts.map +1 -1
- package/dist/state-resolver.js +162 -97
- package/dist/state-resolver.js.map +1 -1
- package/dist/testing/devnet.d.ts +40 -1
- package/dist/testing/devnet.d.ts.map +1 -1
- package/dist/testing/devnet.js +333 -45
- package/dist/testing/devnet.js.map +1 -1
- package/dist/testing/errors/expect.d.ts +137 -0
- package/dist/testing/errors/expect.d.ts.map +1 -0
- package/dist/testing/errors/expect.js +372 -0
- package/dist/testing/errors/expect.js.map +1 -0
- package/dist/testing/errors/index.d.ts +3 -0
- package/dist/testing/errors/index.d.ts.map +1 -0
- package/dist/testing/errors/index.js +8 -0
- package/dist/testing/errors/index.js.map +1 -0
- package/dist/testing/errors/names.generated.d.ts +211 -0
- package/dist/testing/errors/names.generated.d.ts.map +1 -0
- package/dist/testing/errors/names.generated.js +206 -0
- package/dist/testing/errors/names.generated.js.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +8 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/mock-rpc.d.ts +16 -0
- package/dist/testing/mock-rpc.d.ts.map +1 -1
- package/dist/testing/mock-rpc.js +27 -0
- package/dist/testing/mock-rpc.js.map +1 -1
- package/dist/testing/mock-state.d.ts +2 -0
- package/dist/testing/mock-state.d.ts.map +1 -1
- package/dist/testing/mock-state.js +45 -6
- package/dist/testing/mock-state.js.map +1 -1
- package/dist/types.d.ts +5 -15
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -69
- package/dist/types.js.map +1 -1
- package/dist/vault-analytics.d.ts +0 -2
- package/dist/vault-analytics.d.ts.map +1 -1
- package/dist/vault-analytics.js +1 -9
- package/dist/vault-analytics.js.map +1 -1
- package/package.json +12 -5
- package/dist/dashboard/constraint-reads.d.ts +0 -50
- package/dist/dashboard/constraint-reads.d.ts.map +0 -1
- package/dist/dashboard/constraint-reads.js +0 -119
- package/dist/dashboard/constraint-reads.js.map +0 -1
- package/dist/generated/accounts/escrowDeposit.d.ts +0 -50
- package/dist/generated/accounts/escrowDeposit.d.ts.map +0 -1
- package/dist/generated/accounts/escrowDeposit.js +0 -76
- package/dist/generated/accounts/escrowDeposit.js.map +0 -1
- package/dist/generated/accounts/instructionConstraints.d.ts +0 -46
- package/dist/generated/accounts/instructionConstraints.d.ts.map +0 -1
- package/dist/generated/accounts/instructionConstraints.js +0 -73
- package/dist/generated/accounts/instructionConstraints.js.map +0 -1
- package/dist/generated/accounts/pendingCloseConstraints.d.ts +0 -37
- package/dist/generated/accounts/pendingCloseConstraints.d.ts.map +0 -1
- package/dist/generated/accounts/pendingCloseConstraints.js +0 -66
- package/dist/generated/accounts/pendingCloseConstraints.js.map +0 -1
- package/dist/generated/accounts/pendingConstraintsUpdate.d.ts +0 -62
- package/dist/generated/accounts/pendingConstraintsUpdate.d.ts.map +0 -1
- package/dist/generated/accounts/pendingConstraintsUpdate.js +0 -75
- package/dist/generated/accounts/pendingConstraintsUpdate.js.map +0 -1
- package/dist/generated/instructions/allocateConstraintsPda.d.ts +0 -62
- package/dist/generated/instructions/allocateConstraintsPda.d.ts.map +0 -1
- package/dist/generated/instructions/allocateConstraintsPda.js +0 -134
- package/dist/generated/instructions/allocateConstraintsPda.js.map +0 -1
- package/dist/generated/instructions/allocatePendingConstraintsPda.d.ts +0 -66
- package/dist/generated/instructions/allocatePendingConstraintsPda.d.ts.map +0 -1
- package/dist/generated/instructions/allocatePendingConstraintsPda.js.map +0 -1
- package/dist/generated/instructions/applyCloseConstraints.d.ts +0 -59
- package/dist/generated/instructions/applyCloseConstraints.d.ts.map +0 -1
- package/dist/generated/instructions/applyCloseConstraints.js +0 -143
- package/dist/generated/instructions/applyCloseConstraints.js.map +0 -1
- package/dist/generated/instructions/applyConstraintsUpdate.d.ts +0 -62
- package/dist/generated/instructions/applyConstraintsUpdate.d.ts.map +0 -1
- package/dist/generated/instructions/applyConstraintsUpdate.js.map +0 -1
- package/dist/generated/instructions/cancelCloseConstraints.d.ts +0 -51
- package/dist/generated/instructions/cancelCloseConstraints.d.ts.map +0 -1
- package/dist/generated/instructions/cancelCloseConstraints.js +0 -115
- package/dist/generated/instructions/cancelCloseConstraints.js.map +0 -1
- package/dist/generated/instructions/cancelConstraintsUpdate.d.ts +0 -51
- package/dist/generated/instructions/cancelConstraintsUpdate.d.ts.map +0 -1
- package/dist/generated/instructions/cancelConstraintsUpdate.js +0 -115
- package/dist/generated/instructions/cancelConstraintsUpdate.js.map +0 -1
- package/dist/generated/instructions/closeSettledEscrow.d.ts +0 -72
- package/dist/generated/instructions/closeSettledEscrow.d.ts.map +0 -1
- package/dist/generated/instructions/closeSettledEscrow.js +0 -127
- package/dist/generated/instructions/closeSettledEscrow.js.map +0 -1
- package/dist/generated/instructions/createEscrow.d.ts +0 -131
- package/dist/generated/instructions/createEscrow.d.ts.map +0 -1
- package/dist/generated/instructions/createEscrow.js +0 -272
- package/dist/generated/instructions/createEscrow.js.map +0 -1
- package/dist/generated/instructions/createInstructionConstraints.d.ts +0 -68
- package/dist/generated/instructions/createInstructionConstraints.d.ts.map +0 -1
- package/dist/generated/instructions/createInstructionConstraints.js.map +0 -1
- package/dist/generated/instructions/extendPda.d.ts +0 -52
- package/dist/generated/instructions/extendPda.d.ts.map +0 -1
- package/dist/generated/instructions/extendPda.js +0 -86
- package/dist/generated/instructions/extendPda.js.map +0 -1
- package/dist/generated/instructions/queueCloseConstraints.d.ts +0 -66
- package/dist/generated/instructions/queueCloseConstraints.d.ts.map +0 -1
- package/dist/generated/instructions/queueCloseConstraints.js.map +0 -1
- package/dist/generated/instructions/queueConstraintsUpdate.d.ts +0 -75
- package/dist/generated/instructions/queueConstraintsUpdate.d.ts.map +0 -1
- package/dist/generated/instructions/queueConstraintsUpdate.js +0 -154
- package/dist/generated/instructions/queueConstraintsUpdate.js.map +0 -1
- package/dist/generated/instructions/refundEscrow.d.ts +0 -74
- package/dist/generated/instructions/refundEscrow.d.ts.map +0 -1
- package/dist/generated/instructions/refundEscrow.js +0 -142
- package/dist/generated/instructions/refundEscrow.js.map +0 -1
- package/dist/generated/instructions/settleEscrow.d.ts +0 -80
- package/dist/generated/instructions/settleEscrow.d.ts.map +0 -1
- package/dist/generated/instructions/settleEscrow.js +0 -173
- package/dist/generated/instructions/settleEscrow.js.map +0 -1
- package/dist/generated/types/accountConstraint.d.ts +0 -18
- package/dist/generated/types/accountConstraint.d.ts.map +0 -1
- package/dist/generated/types/accountConstraint.js +0 -24
- package/dist/generated/types/accountConstraint.js.map +0 -1
- package/dist/generated/types/accountConstraintZC.d.ts +0 -18
- package/dist/generated/types/accountConstraintZC.d.ts.map +0 -1
- package/dist/generated/types/accountConstraintZC.js +0 -26
- package/dist/generated/types/accountConstraintZC.js.map +0 -1
- package/dist/generated/types/closeConstraintsApplied.d.ts +0 -20
- package/dist/generated/types/closeConstraintsApplied.d.ts.map +0 -1
- package/dist/generated/types/closeConstraintsApplied.js +0 -24
- package/dist/generated/types/closeConstraintsApplied.js.map +0 -1
- package/dist/generated/types/closeConstraintsCancelled.d.ts +0 -16
- package/dist/generated/types/closeConstraintsCancelled.d.ts.map +0 -1
- package/dist/generated/types/closeConstraintsCancelled.js +0 -18
- package/dist/generated/types/closeConstraintsCancelled.js.map +0 -1
- package/dist/generated/types/closeConstraintsQueued.d.ts +0 -20
- package/dist/generated/types/closeConstraintsQueued.d.ts.map +0 -1
- package/dist/generated/types/closeConstraintsQueued.js +0 -24
- package/dist/generated/types/closeConstraintsQueued.js.map +0 -1
- package/dist/generated/types/constraintEntry.d.ts +0 -39
- package/dist/generated/types/constraintEntry.d.ts.map +0 -1
- package/dist/generated/types/constraintEntry.js +0 -31
- package/dist/generated/types/constraintEntry.js.map +0 -1
- package/dist/generated/types/constraintEntryZC.d.ts +0 -68
- package/dist/generated/types/constraintEntryZC.d.ts.map +0 -1
- package/dist/generated/types/constraintEntryZC.js +0 -49
- package/dist/generated/types/constraintEntryZC.js.map +0 -1
- package/dist/generated/types/constraintOperator.d.ts +0 -22
- package/dist/generated/types/constraintOperator.d.ts.map +0 -1
- package/dist/generated/types/constraintOperator.js +0 -28
- package/dist/generated/types/constraintOperator.js.map +0 -1
- package/dist/generated/types/constraintsChangeApplied.d.ts +0 -30
- package/dist/generated/types/constraintsChangeApplied.d.ts.map +0 -1
- package/dist/generated/types/constraintsChangeApplied.js +0 -32
- package/dist/generated/types/constraintsChangeApplied.js.map +0 -1
- package/dist/generated/types/constraintsChangeCancelled.d.ts +0 -16
- package/dist/generated/types/constraintsChangeCancelled.d.ts.map +0 -1
- package/dist/generated/types/constraintsChangeCancelled.js +0 -18
- package/dist/generated/types/constraintsChangeCancelled.js.map +0 -1
- package/dist/generated/types/constraintsChangeQueued.d.ts +0 -30
- package/dist/generated/types/constraintsChangeQueued.d.ts.map +0 -1
- package/dist/generated/types/constraintsChangeQueued.js +0 -32
- package/dist/generated/types/constraintsChangeQueued.js.map +0 -1
- package/dist/generated/types/dataConstraint.d.ts +0 -23
- package/dist/generated/types/dataConstraint.d.ts.map +0 -1
- package/dist/generated/types/dataConstraint.js +0 -27
- package/dist/generated/types/dataConstraint.js.map +0 -1
- package/dist/generated/types/dataConstraintZC.d.ts +0 -20
- package/dist/generated/types/dataConstraintZC.d.ts.map +0 -1
- package/dist/generated/types/dataConstraintZC.js +0 -30
- package/dist/generated/types/dataConstraintZC.js.map +0 -1
- package/dist/generated/types/discriminatorFormat.d.ts +0 -25
- package/dist/generated/types/discriminatorFormat.d.ts.map +0 -1
- package/dist/generated/types/discriminatorFormat.js +0 -31
- package/dist/generated/types/discriminatorFormat.js.map +0 -1
- package/dist/generated/types/escrowCreated.d.ts +0 -30
- package/dist/generated/types/escrowCreated.d.ts.map +0 -1
- package/dist/generated/types/escrowCreated.js +0 -34
- package/dist/generated/types/escrowCreated.js.map +0 -1
- package/dist/generated/types/escrowRefunded.d.ts +0 -26
- package/dist/generated/types/escrowRefunded.d.ts.map +0 -1
- package/dist/generated/types/escrowRefunded.js +0 -30
- package/dist/generated/types/escrowRefunded.js.map +0 -1
- package/dist/generated/types/escrowSettled.d.ts +0 -26
- package/dist/generated/types/escrowSettled.d.ts.map +0 -1
- package/dist/generated/types/escrowSettled.js +0 -30
- package/dist/generated/types/escrowSettled.js.map +0 -1
- package/dist/generated/types/escrowStatus.d.ts +0 -18
- package/dist/generated/types/escrowStatus.d.ts.map +0 -1
- package/dist/generated/types/escrowStatus.js +0 -24
- package/dist/generated/types/escrowStatus.js.map +0 -1
- package/dist/generated/types/instructionConstraintsCreated.d.ts +0 -34
- package/dist/generated/types/instructionConstraintsCreated.d.ts.map +0 -1
- package/dist/generated/types/instructionConstraintsCreated.js +0 -36
- package/dist/generated/types/instructionConstraintsCreated.js.map +0 -1
- package/dist/generated/types/pdaAllocated.d.ts +0 -24
- package/dist/generated/types/pdaAllocated.d.ts.map +0 -1
- package/dist/generated/types/pdaAllocated.js.map +0 -1
- package/dist/generated/types/pdaExtended.d.ts +0 -24
- package/dist/generated/types/pdaExtended.d.ts.map +0 -1
- package/dist/generated/types/pdaExtended.js +0 -28
- package/dist/generated/types/pdaExtended.js.map +0 -1
- package/dist/integrations/protocol-handler.d.ts +0 -59
- package/dist/integrations/protocol-handler.d.ts.map +0 -1
- package/dist/integrations/protocol-handler.js +0 -9
- package/dist/integrations/protocol-handler.js.map +0 -1
package/dist/testing/devnet.js
CHANGED
|
@@ -12,10 +12,14 @@ import { createSolanaRpc, createKeyPairSignerFromBytes, generateKeyPairSigner, p
|
|
|
12
12
|
import { getSetComputeUnitLimitInstruction } from "@solana-program/compute-budget";
|
|
13
13
|
import { readFileSync } from "node:fs";
|
|
14
14
|
import { getInitializeVaultInstructionAsync } from "../generated/instructions/initializeVault.js";
|
|
15
|
-
import {
|
|
15
|
+
import { getRegisterAgentInstructionAsync } from "../generated/instructions/registerAgent.js";
|
|
16
|
+
import { getQueueAgentGrantInstructionAsync } from "../generated/instructions/queueAgentGrant.js";
|
|
17
|
+
import { getApplyAgentGrantInstructionAsync } from "../generated/instructions/applyAgentGrant.js";
|
|
16
18
|
import { getDepositFundsInstructionAsync } from "../generated/instructions/depositFunds.js";
|
|
19
|
+
import { fetchPendingAgentGrant } from "../generated/accounts/pendingAgentGrant.js";
|
|
17
20
|
import { inscribe } from "../inscribe.js";
|
|
18
21
|
import { getAgentOverlayPDA, getTrackerPDA } from "../resolve-accounts.js";
|
|
22
|
+
import { computePolicyPreviewDigest } from "../policy/compute-policy-preview-digest.js";
|
|
19
23
|
import { sendAndConfirmTransaction, BlockhashCache } from "../rpc-helpers.js";
|
|
20
24
|
import { USDC_MINT_DEVNET, FULL_CAPABILITY, PROTOCOL_TREASURY, } from "../types.js";
|
|
21
25
|
// ─── Rate Limiter (5 RPS against Helius 10 RPS limit) ──────────────────────
|
|
@@ -124,6 +128,156 @@ export async function ensureStablecoinBalance(rpcUrl, ownerSecretKey, mintAddres
|
|
|
124
128
|
`If owner is not the mint authority, fund the ATA manually.`);
|
|
125
129
|
}
|
|
126
130
|
}
|
|
131
|
+
// ─── Transient-RPC retry (public-devnet 429 tolerance) ──────────────────────
|
|
132
|
+
/**
|
|
133
|
+
* Run an async RPC read with bounded exponential-backoff retry on transient
|
|
134
|
+
* RPC-availability errors (429 / Too Many Requests / generic HTTP error). The
|
|
135
|
+
* public devnet endpoint rate-limits read bursts the same way it does sends, so
|
|
136
|
+
* raw `getSlot` / `getBlockTime` calls in the provisioning + timelock-wait
|
|
137
|
+
* paths must tolerate the same flakiness as `sendKitTransaction`. Test-only.
|
|
138
|
+
*/
|
|
139
|
+
async function rpcReadWithRetry(fn, maxAttempts = 6) {
|
|
140
|
+
let lastErr;
|
|
141
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
142
|
+
try {
|
|
143
|
+
return await fn();
|
|
144
|
+
}
|
|
145
|
+
catch (e) {
|
|
146
|
+
const transient = errorMentions(e, [
|
|
147
|
+
"429",
|
|
148
|
+
"Too Many Requests",
|
|
149
|
+
"HTTP error",
|
|
150
|
+
"fetch failed",
|
|
151
|
+
"ETIMEDOUT",
|
|
152
|
+
"ECONNRESET",
|
|
153
|
+
]);
|
|
154
|
+
if (!transient || attempt === maxAttempts - 1)
|
|
155
|
+
throw e;
|
|
156
|
+
lastErr = e;
|
|
157
|
+
await new Promise((r) => setTimeout(r, 1000 * 2 ** attempt));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
throw lastErr;
|
|
161
|
+
}
|
|
162
|
+
// ─── Operator-grant timelock (F-Q6) ─────────────────────────────────────────
|
|
163
|
+
/**
|
|
164
|
+
* Capability tier 2 = OPERATOR (= FULL_CAPABILITY). Mirrors
|
|
165
|
+
* `programs/sigil/src/state/mod.rs` `CAPABILITY_OPERATOR` and the
|
|
166
|
+
* agent-middleware `tests/helpers/devnet-setup.ts` constant.
|
|
167
|
+
*/
|
|
168
|
+
export const CAPABILITY_OPERATOR = 2;
|
|
169
|
+
/**
|
|
170
|
+
* Poll the devnet CLUSTER clock (`getBlockTime`) until it reaches
|
|
171
|
+
* `deadlineUnix`, then return. On-chain timelocks gate on
|
|
172
|
+
* `Clock::unix_timestamp` — the stake-weighted cluster clock, which can skew
|
|
173
|
+
* from wall-time — so we poll it rather than sleeping a fixed wall duration.
|
|
174
|
+
* Mirrors `tests/helpers/devnet-setup.ts waitForClusterTime`. Bounded by a
|
|
175
|
+
* wall-clock cap (remaining cluster gap + 180s slack) so a stuck/null
|
|
176
|
+
* getBlockTime throws an explicit diagnostic instead of spinning until the
|
|
177
|
+
* mocha hook timeout.
|
|
178
|
+
*/
|
|
179
|
+
async function waitForClusterTime(rpc, deadlineUnix, label = "deadline") {
|
|
180
|
+
const wallStart = Date.now();
|
|
181
|
+
let firstClusterTime = null;
|
|
182
|
+
let firstPass = true;
|
|
183
|
+
for (;;) {
|
|
184
|
+
const slot = await rpcReadWithRetry(() => rpc.getSlot({ commitment: "confirmed" }).send());
|
|
185
|
+
let clusterTime = null;
|
|
186
|
+
try {
|
|
187
|
+
clusterTime = Number(await rpcReadWithRetry(() => rpc.getBlockTime(slot).send()));
|
|
188
|
+
}
|
|
189
|
+
catch {
|
|
190
|
+
// getBlockTime can transiently fail for a just-produced slot (the slot
|
|
191
|
+
// has no recorded block time yet); treat as "not ready" and re-poll.
|
|
192
|
+
clusterTime = null;
|
|
193
|
+
}
|
|
194
|
+
if (clusterTime !== null && !Number.isNaN(clusterTime)) {
|
|
195
|
+
if (firstClusterTime === null)
|
|
196
|
+
firstClusterTime = clusterTime;
|
|
197
|
+
if (clusterTime >= deadlineUnix)
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const capMs = firstClusterTime !== null
|
|
201
|
+
? (deadlineUnix - firstClusterTime + 180) * 1000
|
|
202
|
+
: 180_000;
|
|
203
|
+
if (Date.now() - wallStart > capMs) {
|
|
204
|
+
throw new Error(`waitForClusterTime(${label}): cluster clock never reached ` +
|
|
205
|
+
`${deadlineUnix} within wall cap (${Math.round(capMs / 1000)}s) — ` +
|
|
206
|
+
`getBlockTime degraded?`);
|
|
207
|
+
}
|
|
208
|
+
const remaining = clusterTime === null ? 10 : Math.max(deadlineUnix - clusterTime, 1);
|
|
209
|
+
// First pass sleeps the whole residual in one go; later passes verify in
|
|
210
|
+
// short steps (the cluster clock can lag wall-time by a few seconds).
|
|
211
|
+
await new Promise((r) => setTimeout(r, (firstPass ? remaining + 2 : Math.min(remaining + 1, 10)) * 1000));
|
|
212
|
+
firstPass = false;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Seat an OPERATOR-class agent (capability >= CAPABILITY_OPERATOR) via the
|
|
217
|
+
* lawful F-Q6 timelock path: `queue_agent_grant` → wait the on-chain
|
|
218
|
+
* single-key timelock floor → `apply_agent_grant`.
|
|
219
|
+
*
|
|
220
|
+
* A fresh single-key vault can NEVER seat an OPERATOR instantly —
|
|
221
|
+
* `register_agent` hard-rejects `capability >= CAPABILITY_OPERATOR` on a
|
|
222
|
+
* single-factor vault with `ErrOperatorGrantRequiresTimelock` (6107). The
|
|
223
|
+
* on-chain `SINGLE_KEY_OPERATOR_DELAY_FLOOR` is 600s (the missing 2nd factor);
|
|
224
|
+
* we read the EXACT `queued_at` + `min_delay_seconds` back from the on-chain
|
|
225
|
+
* `PendingAgentGrant` PDA (cluster truth, immune to local-clock skew) and wait
|
|
226
|
+
* out that window against `getBlockTime`, then apply.
|
|
227
|
+
*
|
|
228
|
+
* Mirrors `tests/helpers/devnet-setup.ts`
|
|
229
|
+
* `queueOperatorGrant`/`applyOperatorGrants`.
|
|
230
|
+
*/
|
|
231
|
+
async function seatOperatorAgent(rpc, owner, vaultAddress, agentAddress, capability, spendingLimitUsd, overlayPDA) {
|
|
232
|
+
// 1. Queue. The builder auto-derives policy / pending / audit_success /
|
|
233
|
+
// slot_hashes / system_program from `vault`.
|
|
234
|
+
const queueIx = await getQueueAgentGrantInstructionAsync({
|
|
235
|
+
owner,
|
|
236
|
+
vault: vaultAddress,
|
|
237
|
+
agent: agentAddress,
|
|
238
|
+
capability,
|
|
239
|
+
spendingLimitUsd,
|
|
240
|
+
});
|
|
241
|
+
await sendKitTransaction(rpc, owner, [queueIx]);
|
|
242
|
+
// 2. Read the queue-time truth back from the on-chain pending PDA. The
|
|
243
|
+
// pending PDA address is the same one the queue builder derived; re-derive
|
|
244
|
+
// it the same way for the fetch.
|
|
245
|
+
const pendingAddr = queueIx
|
|
246
|
+
.accounts[3].address; // [owner, vault, policy, pending, ...]
|
|
247
|
+
const pending = await rpcReadWithRetry(() => fetchPendingAgentGrant(rpc, pendingAddr));
|
|
248
|
+
const queuedAt = Number(pending.data.queuedAt);
|
|
249
|
+
const minDelaySeconds = Number(pending.data.minDelaySeconds);
|
|
250
|
+
// 3. Wait out the on-chain timelock against the cluster clock. The on-chain
|
|
251
|
+
// check is `clock.unix_timestamp - queued_at >= min_delay_seconds`; add a
|
|
252
|
+
// few seconds of slack so the apply lands strictly after the boundary.
|
|
253
|
+
const deadline = queuedAt + minDelaySeconds + 3;
|
|
254
|
+
await waitForClusterTime(rpc, deadline, "operator-grant-timelock");
|
|
255
|
+
// 4. Apply. The builder auto-derives policy / pending / audit_success /
|
|
256
|
+
// slot_hashes from `vault`; only `agentSpendOverlay` must be supplied.
|
|
257
|
+
const applyIx = await getApplyAgentGrantInstructionAsync({
|
|
258
|
+
owner,
|
|
259
|
+
vault: vaultAddress,
|
|
260
|
+
agentSpendOverlay: overlayPDA,
|
|
261
|
+
});
|
|
262
|
+
await sendKitTransaction(rpc, owner, [applyIx]);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Does an error mention any of the given needles anywhere in its `.cause`
|
|
266
|
+
* chain? @solana/kit wraps program errors, so the on-chain code (e.g. "6071")
|
|
267
|
+
* is usually NOT on the top-level `.message` — it lives down the cause chain or
|
|
268
|
+
* in Kit's `.context.code`. Walk both at each level.
|
|
269
|
+
*/
|
|
270
|
+
function errorMentions(err, needles) {
|
|
271
|
+
let cur = err;
|
|
272
|
+
for (let depth = 0; depth < 6 && cur != null; depth++) {
|
|
273
|
+
const c = cur;
|
|
274
|
+
const hay = `${String(c.message ?? "")} ${String(c.context?.code ?? "")} ${String(cur)}`;
|
|
275
|
+
if (needles.some((n) => hay.includes(n)))
|
|
276
|
+
return true;
|
|
277
|
+
cur = c.cause;
|
|
278
|
+
}
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
127
281
|
/**
|
|
128
282
|
* Provision a vault using Kit-native Codama builders.
|
|
129
283
|
*
|
|
@@ -135,50 +289,144 @@ export async function ensureStablecoinBalance(rpcUrl, ownerSecretKey, mintAddres
|
|
|
135
289
|
export async function provisionVault(rpc, owner, agent, mint = USDC_MINT_DEVNET, opts = {}) {
|
|
136
290
|
const dailyCap = opts.dailySpendingCapUsd ?? 500000000n;
|
|
137
291
|
const maxTx = opts.maxTransactionSizeUsd ?? 100000000n;
|
|
138
|
-
|
|
292
|
+
// Phase 2 Option A: on-chain handler rejects protocolMode != 1 (ALLOWLIST).
|
|
293
|
+
// Devnet test default is now ALLOWLIST with empty protocols (no DeFi permitted
|
|
294
|
+
// by default — callers add protocols explicitly).
|
|
295
|
+
const protocolMode = opts.protocolMode ?? 1;
|
|
296
|
+
const protocols = opts.protocols ?? [];
|
|
139
297
|
const permissions = opts.permissions ?? FULL_CAPABILITY;
|
|
140
298
|
const spendingLimitUsd = opts.spendingLimitUsd ?? 0n;
|
|
141
|
-
//
|
|
299
|
+
// Phase 2 TA-19: observe_only defaults to false unless caller opts in.
|
|
300
|
+
const observeOnly = opts.observeOnly ?? false;
|
|
301
|
+
// 1. Derive PDAs via inscribe() (auto-probes the next id unless one is given)
|
|
142
302
|
const inscribeResult = await inscribe({
|
|
143
303
|
rpc,
|
|
144
304
|
network: "devnet",
|
|
145
305
|
owner,
|
|
146
306
|
agent,
|
|
307
|
+
vaultId: opts.vaultId,
|
|
147
308
|
unsafeSkipTeeCheck: true,
|
|
148
309
|
});
|
|
149
310
|
const { vaultAddress, vaultId, policyAddress } = inscribeResult;
|
|
150
311
|
const [overlayPDA] = await getAgentOverlayPDA(vaultAddress, 0);
|
|
151
|
-
// 2. Build and send initializeVault
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
312
|
+
// 2. Build and send initializeVault.
|
|
313
|
+
//
|
|
314
|
+
// PEN-CROSS-2: the on-chain handler captures Clock::get()?.slot at execution
|
|
315
|
+
// and require!s the owner-signed digest encode that EXACT slot
|
|
316
|
+
// (PolicyPreviewMismatch 6071 otherwise). The live devnet clock advances
|
|
317
|
+
// between getSlot() and landing — and `confirmed` LAGS the execution slot —
|
|
318
|
+
// so a single read mismatches every time. Bind to `processed + offset` and
|
|
319
|
+
// retry on 6071, fanning the offset out across attempts (mirrors the
|
|
320
|
+
// production SDK create-vault.ts + the agent-middleware sendInitVault).
|
|
321
|
+
const timelockDuration = opts?.timelockDuration ?? 1800n;
|
|
322
|
+
const seedOffsets = [2, 3, 4, 5, 6, 7, 8, 10, 12, 1, 9, 11, 14, 16, 18, 20];
|
|
323
|
+
let initLanded = false;
|
|
324
|
+
let lastInitErr;
|
|
325
|
+
for (let attempt = 0; attempt < 40 && !initLanded; attempt++) {
|
|
326
|
+
const base = await rpcReadWithRetry(() => rpc.getSlot({ commitment: "processed" }).send());
|
|
327
|
+
const createdAtSlot = base + BigInt(seedOffsets[attempt % seedOffsets.length]);
|
|
328
|
+
const previewDigest = computePolicyPreviewDigest({
|
|
329
|
+
dailySpendingCapUsd: dailyCap,
|
|
330
|
+
maxTransactionSizeUsd: maxTx,
|
|
331
|
+
maxSlippageBps: 500,
|
|
332
|
+
// PEN-CROSS-6: developer_fee_rate is bound by the digest.
|
|
333
|
+
developerFeeRate: 0,
|
|
334
|
+
protocolMode,
|
|
335
|
+
protocols,
|
|
336
|
+
destinationMode: 0,
|
|
337
|
+
allowedDestinations: [],
|
|
338
|
+
timelockDuration,
|
|
339
|
+
sessionExpirySeconds: 0n,
|
|
340
|
+
observeOnly,
|
|
341
|
+
hasPostAssertions: 0,
|
|
342
|
+
createdAtSlot,
|
|
343
|
+
operatingHours: 0x00ffffff,
|
|
344
|
+
autoPromoteGrays: false,
|
|
345
|
+
autoRevokeThreshold: 5,
|
|
346
|
+
// TA-12/14 (Phase 5): testing helper defaults — no floor, no per-recipient cap.
|
|
347
|
+
stableBalanceFloor: 0n,
|
|
348
|
+
perRecipientDailyCapUsd: 0n,
|
|
349
|
+
// G6 (audit 2026-05-18 cosign opt-in): testing helper default = false
|
|
350
|
+
// (low-friction). Tests can override via opts when exercising the
|
|
351
|
+
// cosign-required path explicitly.
|
|
352
|
+
cosignRequired: false,
|
|
353
|
+
});
|
|
354
|
+
const initIx = await getInitializeVaultInstructionAsync({
|
|
355
|
+
owner,
|
|
356
|
+
agentSpendOverlay: overlayPDA,
|
|
357
|
+
feeDestination: PROTOCOL_TREASURY,
|
|
358
|
+
vaultId,
|
|
359
|
+
dailySpendingCapUsd: dailyCap,
|
|
360
|
+
maxTransactionSizeUsd: maxTx,
|
|
361
|
+
protocolMode,
|
|
362
|
+
protocols,
|
|
363
|
+
developerFeeRate: 0,
|
|
364
|
+
maxSlippageBps: 500,
|
|
365
|
+
timelockDuration, // MIN_TIMELOCK_DURATION (TOCTOU fix)
|
|
366
|
+
allowedDestinations: [],
|
|
367
|
+
protocolCaps: [],
|
|
368
|
+
observeOnly,
|
|
369
|
+
operatingHours: 0x00ffffff,
|
|
370
|
+
autoPromoteGrays: false,
|
|
371
|
+
autoRevokeThreshold: 5,
|
|
372
|
+
stableBalanceFloor: 0n,
|
|
373
|
+
perRecipientDailyCapUsd: 0n,
|
|
374
|
+
// G6 (audit 2026-05-18 cosign opt-in): same default as the digest
|
|
375
|
+
// computation above — testing helper opts out of cosign by default.
|
|
376
|
+
cosignRequired: false,
|
|
377
|
+
previewDigest,
|
|
378
|
+
});
|
|
379
|
+
try {
|
|
380
|
+
// skipPreflight: the digest binds a FUTURE slot; a preflight sim at the
|
|
381
|
+
// current slot would always reject it (6071) before it can land.
|
|
382
|
+
await sendKitTransaction(rpc, owner, [
|
|
383
|
+
getSetComputeUnitLimitInstruction({ units: 400_000 }),
|
|
384
|
+
initIx,
|
|
385
|
+
], { skipPreflight: true });
|
|
386
|
+
initLanded = true;
|
|
387
|
+
}
|
|
388
|
+
catch (e) {
|
|
389
|
+
// @solana/kit wraps the program error: the caught error's own .message is
|
|
390
|
+
// a generic preflight-failure string and the "Custom #6071" lives down the
|
|
391
|
+
// .cause chain — so walk the whole chain (message + context.code).
|
|
392
|
+
if (errorMentions(e, ["6071", "PolicyPreviewMismatch"])) {
|
|
393
|
+
lastInitErr = e;
|
|
394
|
+
continue; // slot advanced past the signed digest — re-read + retry
|
|
395
|
+
}
|
|
396
|
+
throw e;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
if (!initLanded) {
|
|
400
|
+
throw new Error(`provisionVault: initialize_vault slot-bind failed after 40 attempts ` +
|
|
401
|
+
`(PolicyPreviewMismatch 6071). Last error: ${lastInitErr}`);
|
|
402
|
+
}
|
|
403
|
+
// 3. Seat the agent.
|
|
404
|
+
//
|
|
405
|
+
// F-Q6 (register_agent.rs:130-146): a single-key vault can NEVER seat an
|
|
406
|
+
// OPERATOR-class grant (capability >= CAPABILITY_OPERATOR) instantly —
|
|
407
|
+
// `register_agent` rejects it with `ErrOperatorGrantRequiresTimelock` (6107)
|
|
408
|
+
// because the time-delay IS the missing 2nd authorization factor. The lawful
|
|
409
|
+
// path is queue_agent_grant → wait the on-chain SINGLE_KEY_OPERATOR_DELAY_FLOOR
|
|
410
|
+
// (600s) → apply_agent_grant. Observer (1) / Disabled (0) grants cannot move
|
|
411
|
+
// funds and register instantly via the fast path.
|
|
412
|
+
const capabilityTier = Number(permissions);
|
|
413
|
+
if (capabilityTier >= CAPABILITY_OPERATOR) {
|
|
414
|
+
await seatOperatorAgent(rpc, owner, vaultAddress, agent.address, capabilityTier, spendingLimitUsd, overlayPDA);
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
// PEN-CROSS-5 (Phase 4 absorption): policy account required for the
|
|
418
|
+
// policy_version bump on the instant register path.
|
|
419
|
+
const registerIx = await getRegisterAgentInstructionAsync({
|
|
420
|
+
owner,
|
|
421
|
+
vault: vaultAddress,
|
|
422
|
+
policy: policyAddress,
|
|
423
|
+
agentSpendOverlay: overlayPDA,
|
|
424
|
+
agent: agent.address,
|
|
425
|
+
capability: capabilityTier,
|
|
426
|
+
spendingLimitUsd,
|
|
427
|
+
});
|
|
428
|
+
await sendKitTransaction(rpc, owner, [registerIx]);
|
|
429
|
+
}
|
|
182
430
|
// 4. Deposit funds (optional)
|
|
183
431
|
if (!opts.skipDeposit) {
|
|
184
432
|
const depositAmount = opts.depositAmount ?? 1000000000n;
|
|
@@ -205,17 +453,57 @@ const blockhashCache = new BlockhashCache(15_000);
|
|
|
205
453
|
* Build, sign, and send a Kit-native transaction.
|
|
206
454
|
*
|
|
207
455
|
* Uses pipe() + signTransactionMessageWithSigners() + sendAndConfirmTransaction().
|
|
456
|
+
*
|
|
457
|
+
* The public devnet RPC (`api.devnet.solana.com`) aggressively rate-limits
|
|
458
|
+
* bursts and returns HTTP 429 on `sendTransaction` even under the SDK's 5-RPS
|
|
459
|
+
* throttle. `sendAndConfirmTransaction` (the shared production send path) does
|
|
460
|
+
* NOT retry the initial send by design — so this TEST-ONLY helper wraps the
|
|
461
|
+
* full build+send in a bounded exponential-backoff retry on transient RPC
|
|
462
|
+
* errors (429 / Too Many Requests / generic HTTP error). Each attempt rebuilds
|
|
463
|
+
* with a fresh blockhash so a stale lifetime never leaks into a retry. This
|
|
464
|
+
* keeps the hardening scoped to the devnet test harness and leaves the
|
|
465
|
+
* production helper untouched.
|
|
208
466
|
*/
|
|
209
|
-
export async function sendKitTransaction(rpc, signer, instructions) {
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
467
|
+
export async function sendKitTransaction(rpc, signer, instructions, opts) {
|
|
468
|
+
const MAX_ATTEMPTS = 6;
|
|
469
|
+
let lastErr;
|
|
470
|
+
for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
|
|
471
|
+
// Fresh blockhash per attempt — the cache TTL keeps this cheap while
|
|
472
|
+
// guaranteeing a retry never sends with an expired lifetime.
|
|
473
|
+
const blockhash = await blockhashCache.get(rpc);
|
|
474
|
+
const txMessage = pipe(createTransactionMessage({ version: 0 }), (tx) => setTransactionMessageFeePayer(signer.address, tx), (tx) => setTransactionMessageLifetimeUsingBlockhash(blockhash, tx), (tx) => appendTransactionMessageInstructions(instructions, tx));
|
|
475
|
+
// Attach fee payer signer so signTransactionMessageWithSigners can sign it
|
|
476
|
+
const txWithSigners = addSignersToTransactionMessage([signer], txMessage);
|
|
477
|
+
const signedTx = await signTransactionMessageWithSigners(txWithSigners);
|
|
478
|
+
const wireBase64 = getBase64EncodedWireTransaction(signedTx);
|
|
479
|
+
try {
|
|
480
|
+
return await sendAndConfirmTransaction(rpc, wireBase64, {
|
|
481
|
+
timeoutMs: 60_000,
|
|
482
|
+
commitment: "confirmed",
|
|
483
|
+
skipPreflight: opts?.skipPreflight ?? false,
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
catch (e) {
|
|
487
|
+
// Retry only transient RPC-availability errors. On-chain program errors
|
|
488
|
+
// (Custom #NNNN) and confirmed tx failures are deterministic — surface
|
|
489
|
+
// them immediately rather than masking with retries.
|
|
490
|
+
const transient = errorMentions(e, [
|
|
491
|
+
"429",
|
|
492
|
+
"Too Many Requests",
|
|
493
|
+
"HTTP error",
|
|
494
|
+
"fetch failed",
|
|
495
|
+
"ETIMEDOUT",
|
|
496
|
+
"ECONNRESET",
|
|
497
|
+
]);
|
|
498
|
+
if (!transient || attempt === MAX_ATTEMPTS - 1)
|
|
499
|
+
throw e;
|
|
500
|
+
lastErr = e;
|
|
501
|
+
// Exponential backoff: 1s, 2s, 4s, 8s, 16s — generous because the
|
|
502
|
+
// public-devnet rate-limit window is measured in seconds, not ms.
|
|
503
|
+
await new Promise((r) => setTimeout(r, 1000 * 2 ** attempt));
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
// Unreachable (loop either returns or throws), but satisfies the type checker.
|
|
507
|
+
throw lastErr;
|
|
220
508
|
}
|
|
221
509
|
//# sourceMappingURL=devnet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devnet.js","sourceRoot":"","sources":["../../src/testing/devnet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"devnet.js","sourceRoot":"","sources":["../../src/testing/devnet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strict error-assertion helpers for Sigil tests.
|
|
3
|
+
*
|
|
4
|
+
* Replaces the legacy `expectError(err, ...keywords)` and variadic
|
|
5
|
+
* `expectSigilError(errString, ...names)` helpers.
|
|
6
|
+
*
|
|
7
|
+
* Council decision: 7-0 STRICT (2026-04-20). See:
|
|
8
|
+
* MEMORY/WORK/20260420-201121_test-assertion-precision-council/COUNCIL_DECISION.md
|
|
9
|
+
*
|
|
10
|
+
* Design tenets:
|
|
11
|
+
* 1. Coupled {name, code} pairs via IDL-generated types.
|
|
12
|
+
* A typo on the name fails tsc.
|
|
13
|
+
* 2. No substring matching on error names. Match against structured
|
|
14
|
+
* Anchor error log formats.
|
|
15
|
+
* 3. CPI-origin guard (MIKE G-1): assertions never pass for Anchor errors
|
|
16
|
+
* thrown by CPI callees (e.g., Jupiter) that happen to share a code
|
|
17
|
+
* number with a Sigil error. Extract origin from the Solana runtime's
|
|
18
|
+
* `Program <id> invoke|failed` log lines (NOT the Anchor error line —
|
|
19
|
+
* those do not carry program id per anchor-lang-0.32.1/src/error.rs).
|
|
20
|
+
* 4. @solana/kit log-fetch awareness (MIKE G-2): SendTransactionError
|
|
21
|
+
* from kit simulation has `logs === undefined` until `.getLogs()` is
|
|
22
|
+
* awaited. Diagnostic output calls this out explicitly.
|
|
23
|
+
* 5. Diagnostic failure messages. When an assertion fails, the message
|
|
24
|
+
* says exactly what was expected, what was received, and where to
|
|
25
|
+
* look for the logs.
|
|
26
|
+
*/
|
|
27
|
+
import { type AnchorFrameworkCodeFor, type AnchorFrameworkName, type SigilErrorCodeFor, type SigilErrorName } from "./names.generated.js";
|
|
28
|
+
export declare const SIGIL_PROGRAM_ID_BASE58 = "7FtAXUcrann7P5HoLG7vnWcVpozwj9nqcNm6bPwA1wuK";
|
|
29
|
+
interface ParsedAnchorError {
|
|
30
|
+
/** Numeric error code (6000+ for Sigil, 2000-5999 for Anchor framework). */
|
|
31
|
+
code: number;
|
|
32
|
+
/** Error name as declared in Rust `#[error_code]` or Anchor framework. */
|
|
33
|
+
name: string;
|
|
34
|
+
/**
|
|
35
|
+
* Base58 program ID that emitted the error, extracted from the
|
|
36
|
+
* Solana runtime's `Program <id> failed` log line (NOT the Anchor
|
|
37
|
+
* error log, which does not carry program id per Anchor 0.32.1).
|
|
38
|
+
* `undefined` means we could not resolve the origin — treat as
|
|
39
|
+
* unverified.
|
|
40
|
+
*/
|
|
41
|
+
originProgramId?: string;
|
|
42
|
+
/** Raw log lines (best-effort; may be empty). */
|
|
43
|
+
logs: string[];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Extract structured {code, name, originProgramId} from a thrown error
|
|
47
|
+
* or error-string. Returns null if the error is not parseable as an
|
|
48
|
+
* Anchor/Sigil error.
|
|
49
|
+
*
|
|
50
|
+
* Safe to call with any thrown value — string, Error, SendTransactionError,
|
|
51
|
+
* AnchorError, unknown. Never throws.
|
|
52
|
+
*/
|
|
53
|
+
export declare function parseAnchorError(err: unknown): ParsedAnchorError | null;
|
|
54
|
+
/**
|
|
55
|
+
* Assert that `err` is a Sigil program error matching the given name
|
|
56
|
+
* (and optionally code).
|
|
57
|
+
*
|
|
58
|
+
* @param err The thrown error — any shape. Raw Error, AnchorError,
|
|
59
|
+
* SendTransactionError, string, unknown.
|
|
60
|
+
* @param expected.name Sigil error name. Typed — typos fail tsc.
|
|
61
|
+
* @param expected.code Optional numeric code. If passed, must match
|
|
62
|
+
* the name's canonical code. Lets authors document intent;
|
|
63
|
+
* CI drift-check ensures name↔code coupling.
|
|
64
|
+
*
|
|
65
|
+
* Throws {@link SigilAssertionError} if:
|
|
66
|
+
* - error is unparseable as an Anchor/Sigil error
|
|
67
|
+
* - error name does not match
|
|
68
|
+
* - error code does not match (when provided)
|
|
69
|
+
* - error was thrown by a CPI callee (not Sigil program) — G-1 guard
|
|
70
|
+
*/
|
|
71
|
+
export declare function expectSigilError<N extends SigilErrorName>(err: unknown, expected: {
|
|
72
|
+
name: N;
|
|
73
|
+
code?: SigilErrorCodeFor<N>;
|
|
74
|
+
}): void;
|
|
75
|
+
/**
|
|
76
|
+
* Assert that `err` is an Anchor framework error (2000-5999) matching
|
|
77
|
+
* the given name, and was thrown by the Sigil program (not a CPI callee).
|
|
78
|
+
*
|
|
79
|
+
* Only for tests that *intentionally* verify framework-layer behavior —
|
|
80
|
+
* seed derivation, account init, has_one constraints, etc. If the test
|
|
81
|
+
* is about Sigil business logic, use {@link expectSigilError} instead.
|
|
82
|
+
*/
|
|
83
|
+
export declare function expectAnchorError<N extends AnchorFrameworkName>(err: unknown, expected: {
|
|
84
|
+
name: N;
|
|
85
|
+
code?: AnchorFrameworkCodeFor<N>;
|
|
86
|
+
}): void;
|
|
87
|
+
/**
|
|
88
|
+
* Assert that `err` is ONE of a tight set of Sigil errors.
|
|
89
|
+
*
|
|
90
|
+
* Tuple-typed at ≤3 elements (YULIA amendment). Use only for tests where
|
|
91
|
+
* the error path is legitimately multi-valued AND both outcomes are
|
|
92
|
+
* equally valid specifications — e.g., a race condition between two
|
|
93
|
+
* independent checks where either firing first is acceptable.
|
|
94
|
+
*
|
|
95
|
+
* If you find yourself reaching for this helper on a single code path,
|
|
96
|
+
* the underlying code has a non-determinism smell. Split the test.
|
|
97
|
+
*/
|
|
98
|
+
export type OneOfSigilErrors = readonly [SigilErrorName] | readonly [SigilErrorName, SigilErrorName] | readonly [SigilErrorName, SigilErrorName, SigilErrorName];
|
|
99
|
+
export declare function expectOneOfSigilErrors(err: unknown, names: OneOfSigilErrors): void;
|
|
100
|
+
/**
|
|
101
|
+
* Assert that `err` is ONE of a tight set of Anchor framework errors,
|
|
102
|
+
* thrown by the Sigil program (not a CPI callee).
|
|
103
|
+
*
|
|
104
|
+
* Tuple-typed at ≤3 elements, symmetric with {@link expectOneOfSigilErrors}.
|
|
105
|
+
* Use only for tests where Anchor's check-order can legitimately produce
|
|
106
|
+
* more than one constraint failure — e.g., "non-owner cannot X" tests
|
|
107
|
+
* where either `ConstraintSeeds` (PDA derivation) or `ConstraintHasOne`
|
|
108
|
+
* (`has_one = owner`) fires first depending on account ordering.
|
|
109
|
+
*
|
|
110
|
+
* If both constraints fire deterministically on one path, prefer the
|
|
111
|
+
* specific {@link expectAnchorError} — this helper is for the genuine
|
|
112
|
+
* multi-valued case.
|
|
113
|
+
*/
|
|
114
|
+
export type OneOfAnchorErrors = readonly [AnchorFrameworkName] | readonly [AnchorFrameworkName, AnchorFrameworkName] | readonly [AnchorFrameworkName, AnchorFrameworkName, AnchorFrameworkName];
|
|
115
|
+
export declare function expectOneOfAnchorErrors(err: unknown, names: OneOfAnchorErrors): void;
|
|
116
|
+
/**
|
|
117
|
+
* Assert that `err` is a raw Solana/system-program error with the given
|
|
118
|
+
* numeric code. For cases where no Anchor wrapper is involved — system
|
|
119
|
+
* program, SPL Token, ComputeBudget, or explicit `custom program error:
|
|
120
|
+
* 0x...` patterns.
|
|
121
|
+
*
|
|
122
|
+
* Matches against structured parse first (hex code or Anchor-parsed
|
|
123
|
+
* numeric code). Only falls back to WORD-BOUNDED decimal/hex match in
|
|
124
|
+
* the raw message, never to substring match — to avoid `code 1` matching
|
|
125
|
+
* `instruction 1` or `index 1`.
|
|
126
|
+
*/
|
|
127
|
+
export declare function expectSystemError(err: unknown, code: number): void;
|
|
128
|
+
/**
|
|
129
|
+
* Thrown by the `expect*Error` helpers when an assertion fails.
|
|
130
|
+
* A distinct class so test runners can format it specially if desired.
|
|
131
|
+
* Preserves `cause` with the original error for root-cause triage.
|
|
132
|
+
*/
|
|
133
|
+
export declare class SigilAssertionError extends Error {
|
|
134
|
+
constructor(message: string, cause?: unknown);
|
|
135
|
+
}
|
|
136
|
+
export {};
|
|
137
|
+
//# sourceMappingURL=expect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../../../src/testing/errors/expect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAO9B,eAAO,MAAM,uBAAuB,iDACY,CAAC;AAMjD,UAAU,iBAAiB;IACzB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AA2CD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAkFvE;AA+CD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,cAAc,EACvD,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;CAAE,GACjD,IAAI,CAkCN;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,EAC7D,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAA;CAAE,GACtD,IAAI,CAoCN;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GACxB,SAAS,CAAC,cAAc,CAAC,GACzB,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC,GACzC,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAE9D,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,gBAAgB,GACtB,IAAI,CAoBN;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,CAAC,mBAAmB,CAAC,GAC9B,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,GACnD,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAE7E,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,iBAAiB,GACvB,IAAI,CA6BN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBlE;AAMD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAa7C"}
|