@usesigil/kit 0.16.0 → 0.18.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 +1 -2
- package/dist/agent-bootstrap.d.ts.map +1 -1
- package/dist/agent-bootstrap.js.map +1 -1
- package/dist/agent-errors.d.ts +20 -4
- package/dist/agent-errors.d.ts.map +1 -1
- package/dist/agent-errors.js +864 -367
- 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/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 +92 -0
- package/dist/create-vault.d.ts.map +1 -1
- package/dist/create-vault.js +108 -7
- 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 +2 -2
- package/dist/dashboard/errors.d.ts.map +1 -1
- package/dist/dashboard/errors.js +11 -7
- package/dist/dashboard/errors.js.map +1 -1
- package/dist/dashboard/index.d.ts +190 -34
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +282 -52
- package/dist/dashboard/index.js.map +1 -1
- package/dist/dashboard/mutations.d.ts +153 -24
- package/dist/dashboard/mutations.d.ts.map +1 -1
- package/dist/dashboard/mutations.js +680 -114
- package/dist/dashboard/mutations.js.map +1 -1
- package/dist/dashboard/post-assertion-validation.d.ts +1 -1
- package/dist/dashboard/post-assertion-validation.d.ts.map +1 -1
- package/dist/dashboard/post-assertion-validation.js +169 -48
- package/dist/dashboard/post-assertion-validation.js.map +1 -1
- package/dist/dashboard/reads.d.ts +3 -4
- package/dist/dashboard/reads.d.ts.map +1 -1
- package/dist/dashboard/reads.js +11 -22
- package/dist/dashboard/reads.js.map +1 -1
- package/dist/dashboard/types.d.ts +56 -19
- 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 +134 -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 +19 -0
- 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 -14
- 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 +64 -0
- package/dist/generated/accounts/pendingAgentPermissionsUpdate.d.ts.map +1 -1
- package/dist/generated/accounts/pendingAgentPermissionsUpdate.js +7 -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 +200 -4
- package/dist/generated/accounts/pendingPolicyUpdate.d.ts.map +1 -1
- package/dist/generated/accounts/pendingPolicyUpdate.js +19 -1
- package/dist/generated/accounts/pendingPolicyUpdate.js.map +1 -1
- package/dist/generated/accounts/policyConfig.d.ts +479 -36
- package/dist/generated/accounts/policyConfig.d.ts.map +1 -1
- package/dist/generated/accounts/policyConfig.js +30 -3
- 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 +140 -12
- package/dist/generated/accounts/sessionAuthority.d.ts.map +1 -1
- package/dist/generated/accounts/sessionAuthority.js +9 -7
- 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 +131 -83
- package/dist/generated/errors/sigil.d.ts.map +1 -1
- package/dist/generated/errors/sigil.js +178 -106
- 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 -14
- 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 +85 -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 +36 -5
- package/dist/generated/instructions/freezeVault.d.ts.map +1 -1
- package/dist/generated/instructions/freezeVault.js +65 -4
- package/dist/generated/instructions/freezeVault.js.map +1 -1
- package/dist/generated/instructions/index.d.ts +10 -15
- package/dist/generated/instructions/index.d.ts.map +1 -1
- package/dist/generated/instructions/index.js +10 -15
- package/dist/generated/instructions/index.js.map +1 -1
- package/dist/generated/instructions/initializeVault.d.ts +79 -9
- package/dist/generated/instructions/initializeVault.d.ts.map +1 -1
- package/dist/generated/instructions/initializeVault.js +57 -3
- 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 +32 -0
- package/dist/generated/instructions/queuePolicyUpdate.d.ts.map +1 -1
- package/dist/generated/instructions/queuePolicyUpdate.js +17 -1
- 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 -99
- package/dist/generated/programs/sigil.d.ts.map +1 -1
- package/dist/generated/programs/sigil.js +139 -199
- 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/{orphanConstraintsPdaCleaned.js → agentAutoRevoked.js} +12 -8
- 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 -22
- package/dist/generated/types/index.d.ts.map +1 -1
- package/dist/generated/types/index.js +13 -22
- 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 +14 -0
- package/dist/generated/types/vaultFrozen.d.ts.map +1 -1
- package/dist/generated/types/vaultFrozen.js +2 -0
- package/dist/generated/types/vaultFrozen.js.map +1 -1
- package/dist/index.d.ts +31 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -11
- package/dist/index.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/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/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-agent-perms-cosign-digest.d.ts +51 -0
- package/dist/policy/compute-agent-perms-cosign-digest.d.ts.map +1 -0
- package/dist/policy/compute-agent-perms-cosign-digest.js +55 -0
- package/dist/policy/compute-agent-perms-cosign-digest.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 +279 -0
- package/dist/policy/compute-policy-preview-digest.d.ts.map +1 -0
- package/dist/policy/compute-policy-preview-digest.js +373 -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/preview-create-vault.d.ts.map +1 -1
- package/dist/preview-create-vault.js +37 -16
- package/dist/preview-create-vault.js.map +1 -1
- 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 -32
- 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/simulation.d.ts +19 -0
- package/dist/simulation.d.ts.map +1 -1
- package/dist/simulation.js +187 -95
- 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 -44
- package/dist/testing/devnet.js.map +1 -1
- package/dist/testing/errors/expect.d.ts +1 -1
- package/dist/testing/errors/expect.js +1 -1
- package/dist/testing/errors/names.generated.d.ts +82 -58
- package/dist/testing/errors/names.generated.d.ts.map +1 -1
- package/dist/testing/errors/names.generated.js +83 -59
- package/dist/testing/errors/names.generated.js.map +1 -1
- package/dist/testing/mock-rpc.d.ts +8 -0
- package/dist/testing/mock-rpc.d.ts.map +1 -1
- package/dist/testing/mock-rpc.js +13 -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 +43 -4
- 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 +7 -12
- package/dist/constraints/index.d.ts +0 -23
- package/dist/constraints/index.d.ts.map +0 -1
- package/dist/constraints/index.js +0 -24
- package/dist/constraints/index.js.map +0 -1
- package/dist/dashboard/constraint-builders.d.ts +0 -82
- package/dist/dashboard/constraint-builders.d.ts.map +0 -1
- package/dist/dashboard/constraint-builders.js +0 -204
- package/dist/dashboard/constraint-builders.js.map +0 -1
- 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 -49
- package/dist/generated/accounts/pendingCloseConstraints.d.ts.map +0 -1
- package/dist/generated/accounts/pendingCloseConstraints.js +0 -68
- package/dist/generated/accounts/pendingCloseConstraints.js.map +0 -1
- package/dist/generated/accounts/pendingConstraintsUpdate.d.ts +0 -76
- package/dist/generated/accounts/pendingConstraintsUpdate.d.ts.map +0 -1
- package/dist/generated/accounts/pendingConstraintsUpdate.js +0 -77
- 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/cleanupOrphanConstraintsPda.d.ts +0 -67
- package/dist/generated/instructions/cleanupOrphanConstraintsPda.d.ts.map +0 -1
- package/dist/generated/instructions/cleanupOrphanConstraintsPda.js +0 -120
- package/dist/generated/instructions/cleanupOrphanConstraintsPda.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 -33
- package/dist/generated/types/accountConstraint.d.ts.map +0 -1
- package/dist/generated/types/accountConstraint.js +0 -26
- package/dist/generated/types/accountConstraint.js.map +0 -1
- package/dist/generated/types/accountConstraintZC.d.ts +0 -25
- package/dist/generated/types/accountConstraintZC.d.ts.map +0 -1
- package/dist/generated/types/accountConstraintZC.js +0 -28
- 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 -35
- package/dist/generated/types/constraintEntry.d.ts.map +0 -1
- package/dist/generated/types/constraintEntry.js +0 -29
- package/dist/generated/types/constraintEntry.js.map +0 -1
- package/dist/generated/types/constraintEntryZC.d.ts +0 -73
- 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/orphanConstraintsPdaCleaned.d.ts +0 -22
- package/dist/generated/types/orphanConstraintsPdaCleaned.d.ts.map +0 -1
- package/dist/generated/types/orphanConstraintsPdaCleaned.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 +0 -28
- 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/post-assertions/cross-field-lte.d.ts +0 -134
- package/dist/post-assertions/cross-field-lte.d.ts.map +0 -1
- package/dist/post-assertions/cross-field-lte.js +0 -129
- package/dist/post-assertions/cross-field-lte.js.map +0 -1
- package/dist/post-assertions/index.d.ts +0 -28
- package/dist/post-assertions/index.d.ts.map +0 -1
- package/dist/post-assertions/index.js +0 -28
- package/dist/post-assertions/index.js.map +0 -1
- package/dist/post-assertions/presets/flash-trade.d.ts +0 -139
- package/dist/post-assertions/presets/flash-trade.d.ts.map +0 -1
- package/dist/post-assertions/presets/flash-trade.js +0 -154
- package/dist/post-assertions/presets/flash-trade.js.map +0 -1
- package/dist/protocol-registry/annotations/drift.json +0 -7
- package/dist/protocol-registry/annotations/flash-trade.json +0 -7
- package/dist/protocol-registry/annotations/jupiter-borrow.json +0 -7
- package/dist/protocol-registry/annotations/jupiter-earn.json +0 -7
- package/dist/protocol-registry/annotations/jupiter-lend.json +0 -7
- package/dist/protocol-registry/annotations/jupiter.json +0 -7
- package/dist/protocol-registry/annotations/kamino.json +0 -7
- package/dist/protocol-registry/index.d.ts +0 -45
- package/dist/protocol-registry/index.d.ts.map +0 -1
- package/dist/protocol-registry/index.js +0 -76
- package/dist/protocol-registry/index.js.map +0 -1
- package/dist/protocol-tier.d.ts +0 -157
- package/dist/protocol-tier.d.ts.map +0 -1
- package/dist/protocol-tier.js +0 -104
- package/dist/protocol-tier.js.map +0 -1
package/dist/create-vault.js
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
* transaction composition, signing, and sending.
|
|
6
6
|
*/
|
|
7
7
|
import { getInitializeVaultInstructionAsync } from "./generated/instructions/initializeVault.js";
|
|
8
|
-
import {
|
|
8
|
+
import { getRegisterAgentInstructionAsync } from "./generated/instructions/registerAgent.js";
|
|
9
9
|
import { getVaultPDA, getPolicyPDA, getAgentOverlayPDA, } from "./resolve-accounts.js";
|
|
10
10
|
import { findNextVaultId } from "./inscribe.js";
|
|
11
11
|
import { FULL_PERMISSIONS, toInstruction, } from "./types.js";
|
|
12
|
+
import { computePolicyPreviewDigest } from "./policy/compute-policy-preview-digest.js";
|
|
12
13
|
import { buildOwnerTransaction } from "./owner-transaction.js";
|
|
13
14
|
import { signAndEncode, sendAndConfirmTransaction } from "./rpc-helpers.js";
|
|
14
15
|
import { SigilSdkDomainError } from "./errors/sdk.js";
|
|
@@ -88,12 +89,15 @@ export async function createVault(options) {
|
|
|
88
89
|
// - maxTransactionSizeUsd defaults to dailySpendingCapUsd (caller's
|
|
89
90
|
// explicit cap becomes the per-tx ceiling unless narrower)
|
|
90
91
|
// - feeDestination defaults to the owner's key (same principal)
|
|
91
|
-
// -
|
|
92
|
-
//
|
|
92
|
+
// - protocolMode defaults to ALLOWLIST (1) — the ONLY mode the V2 program
|
|
93
|
+
// accepts. Phase 2 Option A deleted the permissive ALL (0) / DENYLIST
|
|
94
|
+
// modes; `initialize_vault.rs:125` hard-rejects any mode != 1. The old
|
|
95
|
+
// default of 0 ("all protocols allowed") built an init the deployed
|
|
96
|
+
// program reverts on, so it is corrected here.
|
|
93
97
|
const maxTransactionSizeUsd = options.maxTransactionSizeUsd ?? options.dailySpendingCapUsd;
|
|
94
98
|
const feeDestination = options.feeDestination ?? options.owner.address;
|
|
95
99
|
const protocols = options.protocols ?? [];
|
|
96
|
-
const protocolMode = options.protocolMode ??
|
|
100
|
+
const protocolMode = options.protocolMode ?? 1;
|
|
97
101
|
// Step 4: Build initializeVault instruction
|
|
98
102
|
//
|
|
99
103
|
// `protocolCaps`: forward caller-supplied caps if provided; otherwise
|
|
@@ -104,6 +108,89 @@ export async function createVault(options) {
|
|
|
104
108
|
const protocolCaps = options.protocolCaps !== undefined
|
|
105
109
|
? options.protocolCaps
|
|
106
110
|
: protocols.map(() => 0n);
|
|
111
|
+
const allowedDestinations = options.allowedDestinations ?? [];
|
|
112
|
+
const observeOnly = options.observeOnly ?? false;
|
|
113
|
+
// F-11 (initialize_vault.rs:190): an ACTIVE (non-observe_only) vault MUST
|
|
114
|
+
// carry at least one protocol OR destination on its allowlist, else the
|
|
115
|
+
// program rejects with `ActiveVaultRequiresAllowlist` (6073) — a vault that
|
|
116
|
+
// allows nothing is silently inert. Fail fast in the SDK with an actionable
|
|
117
|
+
// message rather than letting the owner-signed init revert on-chain.
|
|
118
|
+
if (!observeOnly &&
|
|
119
|
+
protocols.length === 0 &&
|
|
120
|
+
allowedDestinations.length === 0) {
|
|
121
|
+
throw new SigilSdkDomainError(SIGIL_ERROR__SDK__INVALID_PARAMS, "createVault: an active (non-observeOnly) vault must allowlist at least " +
|
|
122
|
+
"one protocol or destination — otherwise the on-chain program rejects " +
|
|
123
|
+
"it as inert (ActiveVaultRequiresAllowlist, 6073). Pass `protocols` " +
|
|
124
|
+
"and/or `allowedDestinations`, or set `observeOnly: true`.", {
|
|
125
|
+
context: {
|
|
126
|
+
field: "protocols/allowedDestinations",
|
|
127
|
+
received: { protocolMode, protocols: 0, allowedDestinations: 0 },
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
// PEN-CROSS-2 (Phase 2 close-up): the on-chain `initialize_vault` handler
|
|
132
|
+
// captures `Clock::get()?.slot` at handler entry and binds it into the
|
|
133
|
+
// canonical digest. The SDK must encode that same slot in the digest the
|
|
134
|
+
// owner signs. We use the RPC's current slot — typically off by 0-1 from
|
|
135
|
+
// the slot the handler executes in. If a slot rollover lands between
|
|
136
|
+
// `getSlot()` and execution, the user sees a recoverable
|
|
137
|
+
// `PolicyPreviewMismatch` and the SDK consumer retries with a fresh slot.
|
|
138
|
+
//
|
|
139
|
+
// Callers can override `createdAtSlot` for tests / fixtures that don't have
|
|
140
|
+
// a live RPC. Production submission paths should let this RPC-fetch run.
|
|
141
|
+
const createdAtSlot = options.createdAtSlot ??
|
|
142
|
+
(await options.rpc.getSlot({ commitment: "confirmed" }).send());
|
|
143
|
+
// Phase 2 TA-19: compute the canonical policy-preview digest off-chain.
|
|
144
|
+
// The on-chain `initialize_vault` handler recomputes this from the resulting
|
|
145
|
+
// policy state and rejects with `PolicyPreviewMismatch` if they differ.
|
|
146
|
+
// session_expiry_seconds is always 0 at init (uses default); has_constraints
|
|
147
|
+
// + has_post_assertions are always 0 at init (constraints are created later).
|
|
148
|
+
const previewDigest = computePolicyPreviewDigest({
|
|
149
|
+
dailySpendingCapUsd: options.dailySpendingCapUsd,
|
|
150
|
+
maxTransactionSizeUsd,
|
|
151
|
+
maxSlippageBps: options.maxSlippageBps ?? 100,
|
|
152
|
+
// PEN-CROSS-6: developer_fee_rate is bound by the digest. Mirror the
|
|
153
|
+
// same default the ix arg uses below to keep digest and storage in sync.
|
|
154
|
+
developerFeeRate: options.developerFeeRate ?? 0,
|
|
155
|
+
protocolMode,
|
|
156
|
+
protocols,
|
|
157
|
+
destinationMode: 0, // Phase 2 Option A: RESTRICTED is the only valid value
|
|
158
|
+
allowedDestinations,
|
|
159
|
+
timelockDuration: BigInt(options.timelockDuration),
|
|
160
|
+
sessionExpirySeconds: 0n,
|
|
161
|
+
observeOnly,
|
|
162
|
+
hasPostAssertions: 0,
|
|
163
|
+
// PEN-CROSS-2: defends against close+reinit replay.
|
|
164
|
+
createdAtSlot,
|
|
165
|
+
// TA-05 (Phase 3): default to all-24h enabled when caller doesn't
|
|
166
|
+
// narrow. Owner-facing config surface for narrowing lives at the
|
|
167
|
+
// dashboard-side mutation (not exposed via createVault yet).
|
|
168
|
+
operatingHours: options.operatingHours ?? 0x00ffffff,
|
|
169
|
+
// TA-07 (Phase 3): default to enforce 24h friction (auto_promote off).
|
|
170
|
+
autoPromoteGrays: options.autoPromoteGrays ?? false,
|
|
171
|
+
// TA-17 (Phase 3): default auto-revoke threshold of 5 — matches the
|
|
172
|
+
// on-chain default constant. Range 3..=20 enforced by the handler.
|
|
173
|
+
autoRevokeThreshold: options.autoRevokeThreshold ?? 5,
|
|
174
|
+
// TA-12 (Phase 5): stable balance floor — hard reserve under which spending
|
|
175
|
+
// is rejected at finalize. Default 0 = no floor enforcement. Bound by digest.
|
|
176
|
+
stableBalanceFloor: options.stableBalanceFloor ?? 0n,
|
|
177
|
+
// TA-14 (Phase 5): per-recipient daily cap. Default 0 = unlimited per recipient
|
|
178
|
+
// (still bounded by the global daily cap). Bound by digest.
|
|
179
|
+
perRecipientDailyCapUsd: options.perRecipientDailyCapUsd ?? 0n,
|
|
180
|
+
// G6 (audit 2026-05-18 cosign opt-in): default false (low-friction).
|
|
181
|
+
// Owners explicitly opt in by passing true. Bound by TA-19 at position 20.
|
|
182
|
+
cosignRequired: options.cosignRequired ?? false,
|
|
183
|
+
// M-1 (audit 2026-06-11): bind per-protocol caps (positions 23-24). The
|
|
184
|
+
// `protocolCaps` value below is exactly what goes on the wire to
|
|
185
|
+
// `initialize_vault`, which derives `has_protocol_caps = !is_empty()` and
|
|
186
|
+
// stores the slice verbatim (initialize_vault.rs:256-257). Mirror that
|
|
187
|
+
// derivation here so the owner-signed digest matches the on-chain
|
|
188
|
+
// recompute. NOTE: the default path fills `protocolCaps` with all-zeros of
|
|
189
|
+
// length === protocols.length (non-empty), so `has_protocol_caps` is TRUE
|
|
190
|
+
// for any vault with ≥1 protocol — the length test below mirrors that.
|
|
191
|
+
hasProtocolCaps: protocolCaps.length > 0,
|
|
192
|
+
protocolCaps,
|
|
193
|
+
});
|
|
107
194
|
const initializeVaultIx = await getInitializeVaultInstructionAsync({
|
|
108
195
|
owner: options.owner,
|
|
109
196
|
agentSpendOverlay: agentOverlayAddress,
|
|
@@ -116,13 +203,27 @@ export async function createVault(options) {
|
|
|
116
203
|
developerFeeRate: options.developerFeeRate ?? 0,
|
|
117
204
|
maxSlippageBps: options.maxSlippageBps ?? 100,
|
|
118
205
|
timelockDuration: options.timelockDuration,
|
|
119
|
-
allowedDestinations
|
|
206
|
+
allowedDestinations,
|
|
120
207
|
protocolCaps,
|
|
208
|
+
observeOnly,
|
|
209
|
+
operatingHours: options.operatingHours ?? 0x00ffffff,
|
|
210
|
+
autoPromoteGrays: options.autoPromoteGrays ?? false,
|
|
211
|
+
autoRevokeThreshold: options.autoRevokeThreshold ?? 5,
|
|
212
|
+
stableBalanceFloor: options.stableBalanceFloor ?? 0n,
|
|
213
|
+
perRecipientDailyCapUsd: options.perRecipientDailyCapUsd ?? 0n,
|
|
214
|
+
// G6 (audit 2026-05-18 cosign opt-in): default false at construction.
|
|
215
|
+
// The arg + the digest above are computed against the same value so
|
|
216
|
+
// the on-chain `initialize_vault` digest assertion passes.
|
|
217
|
+
cosignRequired: options.cosignRequired ?? false,
|
|
218
|
+
previewDigest,
|
|
121
219
|
});
|
|
122
|
-
// Step 5: Build registerAgent instruction
|
|
123
|
-
|
|
220
|
+
// Step 5: Build registerAgent instruction.
|
|
221
|
+
// PEN-CROSS-5 (Phase 4 absorption): policy now required for
|
|
222
|
+
// policy_version bump.
|
|
223
|
+
const registerAgentIx = await getRegisterAgentInstructionAsync({
|
|
124
224
|
owner: options.owner,
|
|
125
225
|
vault: vaultAddress,
|
|
226
|
+
policy: policyAddress,
|
|
126
227
|
agentSpendOverlay: agentOverlayAddress,
|
|
127
228
|
agent: options.agent.address,
|
|
128
229
|
capability: Number(options.permissions ?? FULL_PERMISSIONS),
|
package/dist/create-vault.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../src/create-vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,kCAAkC,EAAE,MAAM,6CAA6C,CAAC;AACjG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../src/create-vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* close-vault helpers — pending-PDA enumeration for the close_vault path.
|
|
3
|
+
*
|
|
4
|
+
* Companion to the `close_vault` drain logic in
|
|
5
|
+
* `programs/sigil/src/instructions/close_vault.rs`: enumerates the pending
|
|
6
|
+
* PDAs (pending_owner, pending_agent_grant) the handler drains.
|
|
7
|
+
*
|
|
8
|
+
* Why this lives in its own file
|
|
9
|
+
* ─────────────────────────────
|
|
10
|
+
* The user-facing `closeVault` builder lives in `mutations.ts` (a
|
|
11
|
+
* generously-sized file). CH-3 is concurrently editing `mutations.ts`,
|
|
12
|
+
* so CH-2 keeps its surface minimal here: pure PDA enumeration helpers
|
|
13
|
+
* plus the canonical drain order. CH-3 imports
|
|
14
|
+
* {@link enumerateExistingPendingPdasForClose} (or the individual
|
|
15
|
+
* derivation helpers) when wiring the new account into the
|
|
16
|
+
* `remainingAccounts` list.
|
|
17
|
+
*
|
|
18
|
+
* On-chain ordering invariant
|
|
19
|
+
* ───────────────────────────
|
|
20
|
+
* close_vault.rs (HEAD 321a8fb3 + CH-2):
|
|
21
|
+
*
|
|
22
|
+
* 1. `pending_policy` [b"pending_policy", vault] — MUST be slot 0 when present (close_vault.rs unconditionally reads `remaining_accounts.first()`)
|
|
23
|
+
* 2. `pending_agent_perms` [b"pending_agent_perms", vault, agent] — one per registered agent
|
|
24
|
+
* 3. `pending_owner` [b"pending_owner", vault]
|
|
25
|
+
* 4. `pending_agent_grant` [b"pending_agent_grant", vault]
|
|
26
|
+
*
|
|
27
|
+
* (M1-04b: the pending_close_constraints + pending_constraints drains were
|
|
28
|
+
* removed — the constraints engine is gone, those PDAs can never exist.)
|
|
29
|
+
*
|
|
30
|
+
* The Rust drain loops use `start_idx` (= 1 if `policy.has_pending_policy`,
|
|
31
|
+
* else 0) — a single static offset, not an incrementing cursor. So drains
|
|
32
|
+
* 2-4 all scan the same trailing window and match by pubkey. The order of
|
|
33
|
+
* items 2-4 in `remaining_accounts` does not matter functionally, but
|
|
34
|
+
* {@link CLOSE_VAULT_PENDING_PDA_ORDER} pins the canonical layout for
|
|
35
|
+
* review-grep + future audit symmetry.
|
|
36
|
+
*
|
|
37
|
+
* Behavior on RPC failure
|
|
38
|
+
* ───────────────────────
|
|
39
|
+
* {@link enumerateExistingPendingPdasForClose} treats RPC `getAccountInfo`
|
|
40
|
+
* failures as "absent": the close TX still goes through, the on-chain
|
|
41
|
+
* handler silently skips any drain block whose PDA isn't passed (since
|
|
42
|
+
* `lamports() > 0` is the guard). This matches the existing
|
|
43
|
+
* `mutations.ts::closeVault` behavior for `pending_policy` +
|
|
44
|
+
* `pending_agent_perms`. A transient RPC
|
|
45
|
+
* outage therefore degrades to "rent stays orphaned, vault still closes"
|
|
46
|
+
* — never to "close TX rejects".
|
|
47
|
+
*/
|
|
48
|
+
import { type Address, type Rpc, type SolanaRpcApi, AccountRole } from "../kit-adapter.js";
|
|
49
|
+
/**
|
|
50
|
+
* Canonical layout pins for `close_vault` remaining_accounts.
|
|
51
|
+
*
|
|
52
|
+
* Mirrors the drain blocks in `programs/sigil/src/instructions/close_vault.rs`
|
|
53
|
+
* (HEAD 321a8fb3 + CH-2). The Rust loops match by pubkey within
|
|
54
|
+
* `remaining_accounts.iter().skip(start_idx)` so items 2-6 are
|
|
55
|
+
* positionally interchangeable, but callers SHOULD append in this order
|
|
56
|
+
* to keep audit-trail diffs reviewable.
|
|
57
|
+
*/
|
|
58
|
+
export declare const CLOSE_VAULT_PENDING_PDA_ORDER: readonly ["pending_policy", "pending_agent_perms", "pending_owner", "pending_agent_grant"];
|
|
59
|
+
/**
|
|
60
|
+
* Derive the `PendingOwnershipTransfer` PDA for a vault.
|
|
61
|
+
* Seeds: `[b"pending_owner", vault]`
|
|
62
|
+
*
|
|
63
|
+
* Drained by `close_vault.rs:187-203` (SFH-01 fix, audit 2026-05-19).
|
|
64
|
+
*/
|
|
65
|
+
export declare function findPendingOwnerPda(vault: Address, programAddress?: Address): Promise<Address>;
|
|
66
|
+
/**
|
|
67
|
+
* Derive the `PendingAgentGrant` PDA for a vault.
|
|
68
|
+
* Seeds: `[b"pending_agent_grant", vault]`
|
|
69
|
+
*
|
|
70
|
+
* Drained by `close_vault.rs:215-231` (SFH-01 fix, audit 2026-05-19).
|
|
71
|
+
*/
|
|
72
|
+
export declare function findPendingAgentGrantPda(vault: Address, programAddress?: Address): Promise<Address>;
|
|
73
|
+
/**
|
|
74
|
+
* One entry in the close_vault remaining_accounts list — wraps a single
|
|
75
|
+
* pending PDA pubkey alongside the role bit the on-chain drain block
|
|
76
|
+
* requires (always `WRITABLE`, since the lamports + assign + resize
|
|
77
|
+
* mutations need write access).
|
|
78
|
+
*/
|
|
79
|
+
export interface CloseVaultPendingAccount {
|
|
80
|
+
/** Stable identifier for logs / audit diffs. Mirrors
|
|
81
|
+
* {@link CLOSE_VAULT_PENDING_PDA_ORDER}. */
|
|
82
|
+
readonly kind: (typeof CLOSE_VAULT_PENDING_PDA_ORDER)[number];
|
|
83
|
+
/** PDA address. */
|
|
84
|
+
readonly address: Address;
|
|
85
|
+
/** Always WRITABLE — the drain block transfers lamports + reassigns. */
|
|
86
|
+
readonly role: AccountRole.WRITABLE;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Enumerate the **SFH-01** pending PDAs (pending_owner, pending_agent_grant)
|
|
90
|
+
* that currently hold rent on-chain for a given vault.
|
|
91
|
+
*
|
|
92
|
+
* This helper is the load-bearing piece of the close-vault drain companion:
|
|
93
|
+
* the `closeVault` builder in `mutations.ts` appends the returned entries to
|
|
94
|
+
* the existing `pending_policy` + `pending_agent_perms` list to ensure every
|
|
95
|
+
* drainable PDA is covered.
|
|
96
|
+
*
|
|
97
|
+
* Failure mode: RPC errors on individual PDAs are logged via the Sigil
|
|
98
|
+
* module logger and treated as "absent" — the close TX still proceeds,
|
|
99
|
+
* but the missed PDA's rent stays orphaned (same compromise as the
|
|
100
|
+
* existing `mutations.ts::closeVault` handles for the other drains).
|
|
101
|
+
*
|
|
102
|
+
* HH-1 close (audit 2026-05-23): the optional `onRpcError` callback lets
|
|
103
|
+
* callers (e.g. `mutations.ts::closeVault`) escalate the visibility of
|
|
104
|
+
* an enumeration failure beyond the module logger — emit an
|
|
105
|
+
* ERROR-level log line with vault context, throw, or display a UI
|
|
106
|
+
* warning. Without the callback the existing best-effort drain
|
|
107
|
+
* semantic is preserved (warn-and-continue).
|
|
108
|
+
*/
|
|
109
|
+
export declare function enumerateExistingPendingPdasForClose(rpc: Rpc<SolanaRpcApi>, vault: Address, programAddress?: Address, onRpcError?: (kind: CloseVaultPendingAccount["kind"], address: Address, cause: unknown) => void): Promise<readonly CloseVaultPendingAccount[]>;
|
|
110
|
+
//# sourceMappingURL=close-vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-vault.d.ts","sourceRoot":"","sources":["../../src/dashboard/close-vault.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAa3B;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,4FAKhC,CAAC;AAIX;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,OAAO,EACd,cAAc,GAAE,OAA+B,GAC9C,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,OAAO,EACd,cAAc,GAAE,OAA+B,GAC9C,OAAO,CAAC,OAAO,CAAC,CAOlB;AAID;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;gDAC4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9D,mBAAmB;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oCAAoC,CACxD,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,cAAc,GAAE,OAA+B,EAC/C,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,EACtC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,KACX,IAAI,GACR,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC,CAwD9C"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* close-vault helpers — pending-PDA enumeration for the close_vault path.
|
|
3
|
+
*
|
|
4
|
+
* Companion to the `close_vault` drain logic in
|
|
5
|
+
* `programs/sigil/src/instructions/close_vault.rs`: enumerates the pending
|
|
6
|
+
* PDAs (pending_owner, pending_agent_grant) the handler drains.
|
|
7
|
+
*
|
|
8
|
+
* Why this lives in its own file
|
|
9
|
+
* ─────────────────────────────
|
|
10
|
+
* The user-facing `closeVault` builder lives in `mutations.ts` (a
|
|
11
|
+
* generously-sized file). CH-3 is concurrently editing `mutations.ts`,
|
|
12
|
+
* so CH-2 keeps its surface minimal here: pure PDA enumeration helpers
|
|
13
|
+
* plus the canonical drain order. CH-3 imports
|
|
14
|
+
* {@link enumerateExistingPendingPdasForClose} (or the individual
|
|
15
|
+
* derivation helpers) when wiring the new account into the
|
|
16
|
+
* `remainingAccounts` list.
|
|
17
|
+
*
|
|
18
|
+
* On-chain ordering invariant
|
|
19
|
+
* ───────────────────────────
|
|
20
|
+
* close_vault.rs (HEAD 321a8fb3 + CH-2):
|
|
21
|
+
*
|
|
22
|
+
* 1. `pending_policy` [b"pending_policy", vault] — MUST be slot 0 when present (close_vault.rs unconditionally reads `remaining_accounts.first()`)
|
|
23
|
+
* 2. `pending_agent_perms` [b"pending_agent_perms", vault, agent] — one per registered agent
|
|
24
|
+
* 3. `pending_owner` [b"pending_owner", vault]
|
|
25
|
+
* 4. `pending_agent_grant` [b"pending_agent_grant", vault]
|
|
26
|
+
*
|
|
27
|
+
* (M1-04b: the pending_close_constraints + pending_constraints drains were
|
|
28
|
+
* removed — the constraints engine is gone, those PDAs can never exist.)
|
|
29
|
+
*
|
|
30
|
+
* The Rust drain loops use `start_idx` (= 1 if `policy.has_pending_policy`,
|
|
31
|
+
* else 0) — a single static offset, not an incrementing cursor. So drains
|
|
32
|
+
* 2-4 all scan the same trailing window and match by pubkey. The order of
|
|
33
|
+
* items 2-4 in `remaining_accounts` does not matter functionally, but
|
|
34
|
+
* {@link CLOSE_VAULT_PENDING_PDA_ORDER} pins the canonical layout for
|
|
35
|
+
* review-grep + future audit symmetry.
|
|
36
|
+
*
|
|
37
|
+
* Behavior on RPC failure
|
|
38
|
+
* ───────────────────────
|
|
39
|
+
* {@link enumerateExistingPendingPdasForClose} treats RPC `getAccountInfo`
|
|
40
|
+
* failures as "absent": the close TX still goes through, the on-chain
|
|
41
|
+
* handler silently skips any drain block whose PDA isn't passed (since
|
|
42
|
+
* `lamports() > 0` is the guard). This matches the existing
|
|
43
|
+
* `mutations.ts::closeVault` behavior for `pending_policy` +
|
|
44
|
+
* `pending_agent_perms`. A transient RPC
|
|
45
|
+
* outage therefore degrades to "rent stays orphaned, vault still closes"
|
|
46
|
+
* — never to "close TX rejects".
|
|
47
|
+
*/
|
|
48
|
+
import { AccountRole, getProgramDerivedAddress, getAddressEncoder, } from "../kit-adapter.js";
|
|
49
|
+
import { SIGIL_PROGRAM_ADDRESS } from "../generated/programs/sigil.js";
|
|
50
|
+
import { getSigilModuleLogger } from "../logger.js";
|
|
51
|
+
import { redactCause } from "../network-errors.js";
|
|
52
|
+
// ─── Seed constants ──────────────────────────────────────────────────────
|
|
53
|
+
const PENDING_OWNER_SEED = new TextEncoder().encode("pending_owner");
|
|
54
|
+
const PENDING_AGENT_GRANT_SEED = new TextEncoder().encode("pending_agent_grant");
|
|
55
|
+
/**
|
|
56
|
+
* Canonical layout pins for `close_vault` remaining_accounts.
|
|
57
|
+
*
|
|
58
|
+
* Mirrors the drain blocks in `programs/sigil/src/instructions/close_vault.rs`
|
|
59
|
+
* (HEAD 321a8fb3 + CH-2). The Rust loops match by pubkey within
|
|
60
|
+
* `remaining_accounts.iter().skip(start_idx)` so items 2-6 are
|
|
61
|
+
* positionally interchangeable, but callers SHOULD append in this order
|
|
62
|
+
* to keep audit-trail diffs reviewable.
|
|
63
|
+
*/
|
|
64
|
+
export const CLOSE_VAULT_PENDING_PDA_ORDER = [
|
|
65
|
+
"pending_policy",
|
|
66
|
+
"pending_agent_perms", // one per registered agent
|
|
67
|
+
"pending_owner",
|
|
68
|
+
"pending_agent_grant",
|
|
69
|
+
];
|
|
70
|
+
// ─── PDA derivation ──────────────────────────────────────────────────────
|
|
71
|
+
/**
|
|
72
|
+
* Derive the `PendingOwnershipTransfer` PDA for a vault.
|
|
73
|
+
* Seeds: `[b"pending_owner", vault]`
|
|
74
|
+
*
|
|
75
|
+
* Drained by `close_vault.rs:187-203` (SFH-01 fix, audit 2026-05-19).
|
|
76
|
+
*/
|
|
77
|
+
export async function findPendingOwnerPda(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
|
|
78
|
+
const encoder = getAddressEncoder();
|
|
79
|
+
const [pda] = await getProgramDerivedAddress({
|
|
80
|
+
programAddress,
|
|
81
|
+
seeds: [PENDING_OWNER_SEED, encoder.encode(vault)],
|
|
82
|
+
});
|
|
83
|
+
return pda;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Derive the `PendingAgentGrant` PDA for a vault.
|
|
87
|
+
* Seeds: `[b"pending_agent_grant", vault]`
|
|
88
|
+
*
|
|
89
|
+
* Drained by `close_vault.rs:215-231` (SFH-01 fix, audit 2026-05-19).
|
|
90
|
+
*/
|
|
91
|
+
export async function findPendingAgentGrantPda(vault, programAddress = SIGIL_PROGRAM_ADDRESS) {
|
|
92
|
+
const encoder = getAddressEncoder();
|
|
93
|
+
const [pda] = await getProgramDerivedAddress({
|
|
94
|
+
programAddress,
|
|
95
|
+
seeds: [PENDING_AGENT_GRANT_SEED, encoder.encode(vault)],
|
|
96
|
+
});
|
|
97
|
+
return pda;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Enumerate the **SFH-01** pending PDAs (pending_owner, pending_agent_grant)
|
|
101
|
+
* that currently hold rent on-chain for a given vault.
|
|
102
|
+
*
|
|
103
|
+
* This helper is the load-bearing piece of the close-vault drain companion:
|
|
104
|
+
* the `closeVault` builder in `mutations.ts` appends the returned entries to
|
|
105
|
+
* the existing `pending_policy` + `pending_agent_perms` list to ensure every
|
|
106
|
+
* drainable PDA is covered.
|
|
107
|
+
*
|
|
108
|
+
* Failure mode: RPC errors on individual PDAs are logged via the Sigil
|
|
109
|
+
* module logger and treated as "absent" — the close TX still proceeds,
|
|
110
|
+
* but the missed PDA's rent stays orphaned (same compromise as the
|
|
111
|
+
* existing `mutations.ts::closeVault` handles for the other drains).
|
|
112
|
+
*
|
|
113
|
+
* HH-1 close (audit 2026-05-23): the optional `onRpcError` callback lets
|
|
114
|
+
* callers (e.g. `mutations.ts::closeVault`) escalate the visibility of
|
|
115
|
+
* an enumeration failure beyond the module logger — emit an
|
|
116
|
+
* ERROR-level log line with vault context, throw, or display a UI
|
|
117
|
+
* warning. Without the callback the existing best-effort drain
|
|
118
|
+
* semantic is preserved (warn-and-continue).
|
|
119
|
+
*/
|
|
120
|
+
export async function enumerateExistingPendingPdasForClose(rpc, vault, programAddress = SIGIL_PROGRAM_ADDRESS, onRpcError) {
|
|
121
|
+
const [pendingOwnerPda, pendingAgentGrantPda] = await Promise.all([
|
|
122
|
+
findPendingOwnerPda(vault, programAddress),
|
|
123
|
+
findPendingAgentGrantPda(vault, programAddress),
|
|
124
|
+
]);
|
|
125
|
+
const candidates = [
|
|
126
|
+
{ kind: "pending_owner", address: pendingOwnerPda },
|
|
127
|
+
{ kind: "pending_agent_grant", address: pendingAgentGrantPda },
|
|
128
|
+
];
|
|
129
|
+
const checks = await Promise.all(candidates.map(async ({ kind, address }) => {
|
|
130
|
+
try {
|
|
131
|
+
const info = await rpc
|
|
132
|
+
.getAccountInfo(address, { encoding: "base64" })
|
|
133
|
+
.send();
|
|
134
|
+
return info?.value
|
|
135
|
+
? {
|
|
136
|
+
kind,
|
|
137
|
+
address,
|
|
138
|
+
role: AccountRole.WRITABLE,
|
|
139
|
+
}
|
|
140
|
+
: null;
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
const cause = redactCause(err);
|
|
144
|
+
getSigilModuleLogger().warn(`[close_vault] existence check failed for ${kind} ${address} — treating as absent: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
|
|
145
|
+
// HH-1 close (audit 2026-05-23): give callers a chance to
|
|
146
|
+
// escalate the RPC failure (e.g. emit error-level log with
|
|
147
|
+
// vault context, throw to abort close, surface in UI). The
|
|
148
|
+
// existing module logger is preserved as the default low-floor
|
|
149
|
+
// signal.
|
|
150
|
+
if (onRpcError !== undefined) {
|
|
151
|
+
try {
|
|
152
|
+
onRpcError(kind, address, err);
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// Caller's callback must not break the enumeration —
|
|
156
|
+
// swallow silently. Errors from the callback itself are
|
|
157
|
+
// a programming bug in the caller.
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
}));
|
|
163
|
+
return checks.filter((entry) => entry !== null);
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=close-vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-vault.js","sourceRoot":"","sources":["../../src/dashboard/close-vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,8 +58,8 @@ export type DxErrorCategory = "user" | "network" | "program" | "unknown";
|
|
|
58
58
|
* Friendly category for a `DxError` (FE↔BE contract §6.3 helper).
|
|
59
59
|
*
|
|
60
60
|
* Returns one of:
|
|
61
|
-
* - `"program"` — Anchor on-chain error (6000-
|
|
62
|
-
* program and was rejected by program logic.
|
|
61
|
+
* - `"program"` — Anchor on-chain error (6000-6104 post M1-04). Tx
|
|
62
|
+
* reached the program and was rejected by program logic.
|
|
63
63
|
* - `"user"` — SDK / dashboard logic error (7000-7099). Client-side
|
|
64
64
|
* validation failure the user can fix.
|
|
65
65
|
* - `"network"` — RPC / network error (7100-7199). Transport layer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/dashboard/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/dashboard/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AAQxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA8F1C,+EAA+E;AAC/E,eAAO,MAAM,sBAAsB,OAAO,CAAC;AA8B3C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,uBAAuB,yCAKnB,CAAC;AAEX,KAAK,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;;;;;;;;;;;GAaG;AAOH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,GACX,GAAG,IAAI,WAAW,CAAC,mBAAmB,CAAC,CAwBzC;AAqCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,eAAe,CAO3E;AAID,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAwBjE"}
|
package/dist/dashboard/errors.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* re-throw." Used by `getPolicy`, `getOverview`, and `getVaultSummary`.
|
|
12
12
|
*/
|
|
13
13
|
import { isSolanaError, SOLANA_ERROR__NONCE_ACCOUNT_NOT_FOUND, SOLANA_ERROR__ACCOUNTS__ACCOUNT_NOT_FOUND, SOLANA_ERROR__TRANSACTION_ERROR__ACCOUNT_NOT_FOUND, SOLANA_ERROR__TRANSACTION_ERROR__PROGRAM_ACCOUNT_NOT_FOUND, } from "@solana/errors";
|
|
14
|
-
import { SDK_ERROR_CODES, toAgentError } from "../agent-errors.js";
|
|
14
|
+
import { SDK_ERROR_CODES, SIGIL_ON_CHAIN_ERROR_MAX, SIGIL_ON_CHAIN_ERROR_MIN, toAgentError, } from "../agent-errors.js";
|
|
15
15
|
/**
|
|
16
16
|
* PR 2.A: SIGIL_ERROR__<DOMAIN>__<DESCRIPTOR> string codes (canonical
|
|
17
17
|
* SigilErrorCode union from `errors/codes.ts`) → numeric DxError codes.
|
|
@@ -196,14 +196,18 @@ export function isAccountNotFoundError(err) {
|
|
|
196
196
|
}
|
|
197
197
|
// ─── DxError range constants (FE↔BE contract §6.3) ──────────────────────────
|
|
198
198
|
/**
|
|
199
|
-
*
|
|
199
|
+
* Bounds of the Anchor on-chain error range. Any code in
|
|
200
200
|
* [ANCHOR_ERROR_MIN, ANCHOR_ERROR_MAX] means the transaction reached the
|
|
201
201
|
* on-chain program and was rejected by program logic — FE renders a
|
|
202
202
|
* specific "the vault's rules prevented this" message.
|
|
203
|
+
*
|
|
204
|
+
* Aliased from `agent-errors.ts` (single source of truth) so both the
|
|
205
|
+
* dashboard categorize-path and the SDK error-extraction predicate stay
|
|
206
|
+
* in lockstep without manual sync. Bump only at the constant declaration
|
|
207
|
+
* in `agent-errors.ts`.
|
|
203
208
|
*/
|
|
204
|
-
const ANCHOR_ERROR_MIN =
|
|
205
|
-
|
|
206
|
-
const ANCHOR_ERROR_MAX = 6074;
|
|
209
|
+
const ANCHOR_ERROR_MIN = SIGIL_ON_CHAIN_ERROR_MIN;
|
|
210
|
+
const ANCHOR_ERROR_MAX = SIGIL_ON_CHAIN_ERROR_MAX;
|
|
207
211
|
/**
|
|
208
212
|
* Lower bound of the SDK / dashboard logic error range (FE↔BE §6.3).
|
|
209
213
|
* Codes in [SDK_ERROR_MIN, SDK_ERROR_MAX] are classified as "user"
|
|
@@ -236,8 +240,8 @@ export function isOnChainReverted(code) {
|
|
|
236
240
|
* Friendly category for a `DxError` (FE↔BE contract §6.3 helper).
|
|
237
241
|
*
|
|
238
242
|
* Returns one of:
|
|
239
|
-
* - `"program"` — Anchor on-chain error (6000-
|
|
240
|
-
* program and was rejected by program logic.
|
|
243
|
+
* - `"program"` — Anchor on-chain error (6000-6104 post M1-04). Tx
|
|
244
|
+
* reached the program and was rejected by program logic.
|
|
241
245
|
* - `"user"` — SDK / dashboard logic error (7000-7099). Client-side
|
|
242
246
|
* validation failure the user can fix.
|
|
243
247
|
* - `"network"` — RPC / network error (7100-7199). Transport layer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/dashboard/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,aAAa,EACb,qCAAqC,EACrC,yCAAyC,EACzC,kDAAkD,EAClD,0DAA0D,GAE3D,MAAM,gBAAgB,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/dashboard/errors.ts"],"names":[],"mappings":"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"}
|