@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
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy attestation reader — Phase 9 Batch E (ISC-19..21).
|
|
3
|
+
*
|
|
4
|
+
* `getLatestPolicyAttestation` resolves the current on-chain PolicyConfig
|
|
5
|
+
* for a vault and returns the decoded view. Sigil's "attestation" model:
|
|
6
|
+
* every policy mutation runs through `queue_policy_update` →
|
|
7
|
+
* `apply_pending_policy` (the timelock-gated apply), and the resulting
|
|
8
|
+
* `PolicyConfig` PDA is the cryptographic attestation that "the owner
|
|
9
|
+
* approved these rules at timestamp T" — anchored by the `policy_version`
|
|
10
|
+
* monotonic counter + the canonical `policy_preview_digest` field (TA-19).
|
|
11
|
+
*
|
|
12
|
+
* Returns the current policy state. Callers that need to inspect a
|
|
13
|
+
* pending-but-not-yet-applied policy should call
|
|
14
|
+
* `fetchPendingPolicyUpdate` separately (different PDA, different
|
|
15
|
+
* decoder; not exported here because pending state isn't an attestation
|
|
16
|
+
* — it's a proposal).
|
|
17
|
+
*/
|
|
18
|
+
import type { Rpc, SolanaRpcApi } from "@solana/kit";
|
|
19
|
+
import type { Address } from "./kit-adapter.js";
|
|
20
|
+
import { type PolicyConfig } from "./generated/accounts/policyConfig.js";
|
|
21
|
+
/**
|
|
22
|
+
* Result shape of {@link getLatestPolicyAttestation}.
|
|
23
|
+
*
|
|
24
|
+
* `attestation` is the decoded policy. `policyConfigPda` is the address
|
|
25
|
+
* we read from (caller can use it to deep-link to a dashboard view).
|
|
26
|
+
* `policyVersion` is hoisted from `attestation.policyVersion` for
|
|
27
|
+
* convenience — it's the field UI surfaces always need.
|
|
28
|
+
*/
|
|
29
|
+
export interface PolicyAttestation {
|
|
30
|
+
attestation: PolicyConfig;
|
|
31
|
+
policyConfigPda: Address;
|
|
32
|
+
policyVersion: number | bigint;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Fetch + decode the live `PolicyConfig` PDA for a vault.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* const result = await getLatestPolicyAttestation(rpc, policyConfigPda);
|
|
40
|
+
* console.log(
|
|
41
|
+
* `Vault is on policy version ${result.policyVersion} ` +
|
|
42
|
+
* `with daily cap $${result.attestation.dailySpendingCapUsd / 1_000_000n}.`,
|
|
43
|
+
* );
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @throws if the PDA does not exist (vault not initialized) — caller is
|
|
47
|
+
* responsible for surfacing the `policy-not-found` UX. Kit's RPC layer
|
|
48
|
+
* throws via `@solana/kit`'s `fetchEncodedAccount`-style error.
|
|
49
|
+
*/
|
|
50
|
+
export declare function getLatestPolicyAttestation(rpc: Rpc<SolanaRpcApi>, policyConfigPda: Address): Promise<PolicyAttestation>;
|
|
51
|
+
//# sourceMappingURL=policy-attestation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-attestation.d.ts","sourceRoot":"","sources":["../src/policy-attestation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,YAAY,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,eAAe,EAAE,OAAO,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAO5B"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Policy attestation reader — Phase 9 Batch E (ISC-19..21).
|
|
3
|
+
*
|
|
4
|
+
* `getLatestPolicyAttestation` resolves the current on-chain PolicyConfig
|
|
5
|
+
* for a vault and returns the decoded view. Sigil's "attestation" model:
|
|
6
|
+
* every policy mutation runs through `queue_policy_update` →
|
|
7
|
+
* `apply_pending_policy` (the timelock-gated apply), and the resulting
|
|
8
|
+
* `PolicyConfig` PDA is the cryptographic attestation that "the owner
|
|
9
|
+
* approved these rules at timestamp T" — anchored by the `policy_version`
|
|
10
|
+
* monotonic counter + the canonical `policy_preview_digest` field (TA-19).
|
|
11
|
+
*
|
|
12
|
+
* Returns the current policy state. Callers that need to inspect a
|
|
13
|
+
* pending-but-not-yet-applied policy should call
|
|
14
|
+
* `fetchPendingPolicyUpdate` separately (different PDA, different
|
|
15
|
+
* decoder; not exported here because pending state isn't an attestation
|
|
16
|
+
* — it's a proposal).
|
|
17
|
+
*/
|
|
18
|
+
import { fetchPolicyConfig, } from "./generated/accounts/policyConfig.js";
|
|
19
|
+
/**
|
|
20
|
+
* Fetch + decode the live `PolicyConfig` PDA for a vault.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const result = await getLatestPolicyAttestation(rpc, policyConfigPda);
|
|
25
|
+
* console.log(
|
|
26
|
+
* `Vault is on policy version ${result.policyVersion} ` +
|
|
27
|
+
* `with daily cap $${result.attestation.dailySpendingCapUsd / 1_000_000n}.`,
|
|
28
|
+
* );
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @throws if the PDA does not exist (vault not initialized) — caller is
|
|
32
|
+
* responsible for surfacing the `policy-not-found` UX. Kit's RPC layer
|
|
33
|
+
* throws via `@solana/kit`'s `fetchEncodedAccount`-style error.
|
|
34
|
+
*/
|
|
35
|
+
export async function getLatestPolicyAttestation(rpc, policyConfigPda) {
|
|
36
|
+
const account = await fetchPolicyConfig(rpc, policyConfigPda);
|
|
37
|
+
return {
|
|
38
|
+
attestation: account.data,
|
|
39
|
+
policyConfigPda,
|
|
40
|
+
policyVersion: account.data.policyVersion,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=policy-attestation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-attestation.js","sourceRoot":"","sources":["../src/policy-attestation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EACL,iBAAiB,GAElB,MAAM,sCAAsC,CAAC;AAgB9C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,GAAsB,EACtB,eAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC9D,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,eAAe;QACf,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa;KAC1C,CAAC;AACJ,CAAC"}
|
package/dist/presets.d.ts
CHANGED
|
@@ -43,8 +43,6 @@ export interface VaultPreset {
|
|
|
43
43
|
protocolMode: number;
|
|
44
44
|
/** Allowed/denied protocol addresses (empty if mode = all). */
|
|
45
45
|
protocols: Address[];
|
|
46
|
-
/** Max leverage in basis points (0 = no leverage). */
|
|
47
|
-
maxLeverageBps: number;
|
|
48
46
|
}
|
|
49
47
|
export declare const VAULT_PRESETS: {
|
|
50
48
|
readonly "jupiter-swap-bot": {
|
|
@@ -57,7 +55,6 @@ export declare const VAULT_PRESETS: {
|
|
|
57
55
|
readonly maxSlippageBps: 200;
|
|
58
56
|
readonly protocolMode: 1;
|
|
59
57
|
readonly protocols: [Address];
|
|
60
|
-
readonly maxLeverageBps: 0;
|
|
61
58
|
};
|
|
62
59
|
readonly "perps-trader": {
|
|
63
60
|
readonly label: "Perps Trader";
|
|
@@ -69,7 +66,6 @@ export declare const VAULT_PRESETS: {
|
|
|
69
66
|
readonly maxSlippageBps: 500;
|
|
70
67
|
readonly protocolMode: 1;
|
|
71
68
|
readonly protocols: [Address, Address];
|
|
72
|
-
readonly maxLeverageBps: 10000;
|
|
73
69
|
};
|
|
74
70
|
readonly "lending-optimizer": {
|
|
75
71
|
readonly label: "Lending Optimizer";
|
|
@@ -81,7 +77,6 @@ export declare const VAULT_PRESETS: {
|
|
|
81
77
|
readonly maxSlippageBps: 100;
|
|
82
78
|
readonly protocolMode: 1;
|
|
83
79
|
readonly protocols: [Address, Address, Address];
|
|
84
|
-
readonly maxLeverageBps: 0;
|
|
85
80
|
};
|
|
86
81
|
readonly "full-access": {
|
|
87
82
|
readonly label: "Full Access";
|
|
@@ -93,7 +88,6 @@ export declare const VAULT_PRESETS: {
|
|
|
93
88
|
readonly maxSlippageBps: 500;
|
|
94
89
|
readonly protocolMode: 0;
|
|
95
90
|
readonly protocols: [];
|
|
96
|
-
readonly maxLeverageBps: 20000;
|
|
97
91
|
};
|
|
98
92
|
};
|
|
99
93
|
export type PresetName = keyof typeof VAULT_PRESETS;
|
|
@@ -117,7 +111,7 @@ export declare function listPresets(): PresetName[];
|
|
|
117
111
|
* const result = await createVault(opts);
|
|
118
112
|
* ```
|
|
119
113
|
*/
|
|
120
|
-
export declare function presetToCreateVaultFields(name: PresetName): Pick<CreateVaultOptions, "permissions" | "dailySpendingCapUsd" | "maxTransactionSizeUsd" | "maxSlippageBps" | "protocolMode" | "protocols"
|
|
114
|
+
export declare function presetToCreateVaultFields(name: PresetName): Pick<CreateVaultOptions, "permissions" | "dailySpendingCapUsd" | "maxTransactionSizeUsd" | "maxSlippageBps" | "protocolMode" | "protocols">;
|
|
121
115
|
/**
|
|
122
116
|
* Fields a safety preset can fill. `null` means "caller must supply" —
|
|
123
117
|
* the production preset leaves caps explicit on purpose to force thought
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAyBpD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,mBAAmB,EAAE,YAAY,CAAC;IAClC,qDAAqD;IACrD,qBAAqB,EAAE,YAAY,CAAC;IACpC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,SAAS,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAyBpD,sEAAsE;AACtE,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,mBAAmB,EAAE,YAAY,CAAC;IAClC,qDAAqD;IACrD,qBAAqB,EAAE,YAAY,CAAC;IACpC,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,SAAS,EAAE,OAAO,EAAE,CAAC;CACtB;AAID,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDsB,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,aAAa,CAAC;AAIpD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAI/D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,UAAU,EAAE,CAE1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,UAAU,GACf,IAAI,CACL,kBAAkB,EAChB,aAAa,GACb,qBAAqB,GACrB,uBAAuB,GACvB,gBAAgB,GAChB,cAAc,GACd,WAAW,CACd,CAUA;AAQD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,gBAAgB,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,6EAA6E;IAC7E,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;CAW4B,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC1C,kBAAkB,CAQpB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,GAAG;IACvE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,mBAAmB,EAAE,YAAY,CAAC;CACnC,CAeA"}
|
package/dist/presets.js
CHANGED
|
@@ -30,7 +30,6 @@ export const VAULT_PRESETS = {
|
|
|
30
30
|
maxSlippageBps: 200, // 2%
|
|
31
31
|
protocolMode: PROTOCOL_MODE_ALLOWLIST,
|
|
32
32
|
protocols: [JUPITER_PROGRAM_ADDRESS],
|
|
33
|
-
maxLeverageBps: 0,
|
|
34
33
|
},
|
|
35
34
|
"perps-trader": {
|
|
36
35
|
label: "Perps Trader",
|
|
@@ -42,7 +41,6 @@ export const VAULT_PRESETS = {
|
|
|
42
41
|
maxSlippageBps: 500, // 5%
|
|
43
42
|
protocolMode: PROTOCOL_MODE_ALLOWLIST,
|
|
44
43
|
protocols: [JUPITER_PROGRAM_ADDRESS, FLASH_TRADE_PROGRAM],
|
|
45
|
-
maxLeverageBps: 10_000, // 10x
|
|
46
44
|
},
|
|
47
45
|
"lending-optimizer": {
|
|
48
46
|
label: "Lending Optimizer",
|
|
@@ -58,7 +56,6 @@ export const VAULT_PRESETS = {
|
|
|
58
56
|
JUPITER_LEND_PROGRAM,
|
|
59
57
|
KAMINO_LEND_PROGRAM,
|
|
60
58
|
],
|
|
61
|
-
maxLeverageBps: 0,
|
|
62
59
|
},
|
|
63
60
|
"full-access": {
|
|
64
61
|
label: "Full Access",
|
|
@@ -70,7 +67,6 @@ export const VAULT_PRESETS = {
|
|
|
70
67
|
maxSlippageBps: 500, // 5%
|
|
71
68
|
protocolMode: PROTOCOL_MODE_ALL,
|
|
72
69
|
protocols: [],
|
|
73
|
-
maxLeverageBps: 20_000, // 20x
|
|
74
70
|
},
|
|
75
71
|
};
|
|
76
72
|
// ─── Functions ──────────────────────────────────────────────────────────────
|
|
@@ -109,7 +105,6 @@ export function presetToCreateVaultFields(name) {
|
|
|
109
105
|
maxSlippageBps: preset.maxSlippageBps,
|
|
110
106
|
protocolMode: preset.protocolMode,
|
|
111
107
|
protocols: [...preset.protocols],
|
|
112
|
-
maxLeverageBps: preset.maxLeverageBps,
|
|
113
108
|
};
|
|
114
109
|
}
|
|
115
110
|
/**
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAE,GAAG,EAAqB,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAEpB,gFAAgF;AAEhF,MAAM,mBAAmB,GACvB,8CAAyD,CAAC;AAC5D,MAAM,oBAAoB,GACxB,6CAAwD,CAAC;AAC3D,MAAM,mBAAmB,GACvB,6CAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@usesigil/kit/previewCreateVault`.
|
|
3
|
+
*
|
|
4
|
+
* Builds a `CreateVaultPreview` that the dashboard split-screen `/onboard`
|
|
5
|
+
* page renders BEFORE the user signs. Wraps the existing `createVault()`
|
|
6
|
+
* + `buildOwnerTransaction()` primitives — does not reinvent PDA derivation,
|
|
7
|
+
* compute-budget construction, or transaction compilation.
|
|
8
|
+
*
|
|
9
|
+
* ## Algorithm
|
|
10
|
+
*
|
|
11
|
+
* 1. **Validate** the config at the API edge. Negative bigints throw
|
|
12
|
+
* `RangeError`; on-chain hard limits (`MIN_TIMELOCK_DURATION`,
|
|
13
|
+
* `MAX_DEVELOPER_FEE_RATE`, `MAX_ALLOWED_PROTOCOLS`,
|
|
14
|
+
* `MAX_ALLOWED_DESTINATIONS`) are mirrored as early throws so the FE
|
|
15
|
+
* surfaces "your config will be rejected" before signing.
|
|
16
|
+
* `validateNetwork()` propagates as-is.
|
|
17
|
+
* 2. **Derive 4 PDAs.** `vault` first (it's the seed for the others),
|
|
18
|
+
* then `policy` / `tracker` / `agent_spend_overlay` in parallel.
|
|
19
|
+
* 3. **Fetch rent** for each PDA size in parallel via
|
|
20
|
+
* `getMinimumBalanceForRentExemption(size)`. The 4 sizes are pinned to
|
|
21
|
+
* the on-chain `<account>::SIZE` constants — drift between Rust and TS
|
|
22
|
+
* is regression-tested.
|
|
23
|
+
* 4. **Build instructions** via `createVault()` (which validates
|
|
24
|
+
* aggregate caps and rejects owner==agent).
|
|
25
|
+
* 5. **Compile transaction** via `buildOwnerTransaction()` with
|
|
26
|
+
* `CU_VAULT_CREATION` (400_000) and the caller's optional priority fee.
|
|
27
|
+
* 6. **Compute totalCostUsd** via BigInt-safe math with explicit
|
|
28
|
+
* mul-before-divide:
|
|
29
|
+
* `(rentLamports + feeLamports) * solPriceUsd / 1_000_000_000n`.
|
|
30
|
+
* Units: lamports × (6-decimal-USD per SOL) ÷ (lamports per SOL)
|
|
31
|
+
* = 6-decimal USD.
|
|
32
|
+
* 7. **Build warnings** for soft-signal issues (cap=0, cap>$1M, allowlist
|
|
33
|
+
* with no protocols, max-tx > daily-cap). Sorted by `code` ascending so
|
|
34
|
+
* React keys don't thrash on re-type.
|
|
35
|
+
* 8. **Freeze + return.** The returned object is `Object.freeze`d; the
|
|
36
|
+
* `pdaList` and `warnings` arrays are also frozen.
|
|
37
|
+
*
|
|
38
|
+
* ## What this does NOT do
|
|
39
|
+
*
|
|
40
|
+
* - **Submit any transaction.** Preview is read-only RPC: rent + blockhash
|
|
41
|
+
* + ALT lookup. No `sendTransaction`, no `simulateTransaction`.
|
|
42
|
+
* - **Sign.** Internally constructs `createNoopSigner(address)` instances
|
|
43
|
+
* so `buildOwnerTransaction` can compile a fee-payer-bound message.
|
|
44
|
+
* Wallet adapter signs the returned `unsignedTxBytes` later.
|
|
45
|
+
* - **Fetch SOL price.** Kit has no oracle. Caller passes
|
|
46
|
+
* `solPriceUsd: bigint` (6-decimal USD per SOL). Without it, the kit
|
|
47
|
+
* would have to either pin a default (silent lie) or take an RPC
|
|
48
|
+
* dependency on a price feed (scope creep).
|
|
49
|
+
*/
|
|
50
|
+
import type { Address, AddressesByLookupTableAddress, ReadonlyUint8Array, Rpc, SolanaRpcApi } from "./kit-adapter.js";
|
|
51
|
+
import { type Network, type NetworkInput } from "./types.js";
|
|
52
|
+
/**
|
|
53
|
+
* Canonical PDA names matching on-chain Anchor `#[account]` struct names.
|
|
54
|
+
* The order in `pdaList` is also the order accounts are `init`'d on-chain
|
|
55
|
+
* by `initialize_vault` — useful for FE rendering "creation order."
|
|
56
|
+
*/
|
|
57
|
+
export type VaultPdaName = "AgentVault" | "PolicyConfig" | "SpendTracker" | "AgentSpendOverlay";
|
|
58
|
+
/**
|
|
59
|
+
* One PDA that the create-vault transaction will create.
|
|
60
|
+
*
|
|
61
|
+
* `sizeBytes` mirrors the on-chain `<Account>::SIZE` constant.
|
|
62
|
+
* `rentLamports` is the per-PDA rent-exempt minimum at current rent rates,
|
|
63
|
+
* computed via `rpc.getMinimumBalanceForRentExemption(sizeBytes)`.
|
|
64
|
+
*
|
|
65
|
+
* Generic over `name` so the `pdaList` tuple type can pin each slot to a
|
|
66
|
+
* specific account class — `pdaList[0]` is `VaultPdaInfo<"AgentVault">`,
|
|
67
|
+
* not just `VaultPdaInfo`. This lets FE indexing into the list narrow the
|
|
68
|
+
* `name` field down to a single literal.
|
|
69
|
+
*/
|
|
70
|
+
export interface VaultPdaInfo<N extends VaultPdaName = VaultPdaName> {
|
|
71
|
+
readonly name: N;
|
|
72
|
+
readonly address: Address;
|
|
73
|
+
readonly bump: number;
|
|
74
|
+
readonly sizeBytes: number;
|
|
75
|
+
readonly rentLamports: bigint;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Soft-signal warnings the FE renders inline before the user signs.
|
|
79
|
+
*
|
|
80
|
+
* **Discriminated union by `code`.** Each warning has the exact set of
|
|
81
|
+
* `field` + `suggestedValue` it carries — no optionals to narrow at the
|
|
82
|
+
* FE. The FE switches on `code`:
|
|
83
|
+
*
|
|
84
|
+
* ```ts
|
|
85
|
+
* switch (warning.code) {
|
|
86
|
+
* case "daily_cap_unusually_high":
|
|
87
|
+
* // warning.suggestedValue is bigint, never undefined
|
|
88
|
+
* return `${warning.message} (suggested: $${formatUsd(warning.suggestedValue)})`;
|
|
89
|
+
* case "no_protocols_approved":
|
|
90
|
+
* // no suggestedValue here — TS knows
|
|
91
|
+
* return warning.message;
|
|
92
|
+
* }
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* Every warning code is part of the public API — renaming a code is a
|
|
96
|
+
* breaking change. Adding a new code is a minor bump. Hard rules
|
|
97
|
+
* (timelock < 1800, dev fee > 500 bps, etc.) are NOT warnings — they
|
|
98
|
+
* THROW at the API edge. Warnings only signal soft configuration
|
|
99
|
+
* concerns that the program would still accept.
|
|
100
|
+
*/
|
|
101
|
+
export type PreviewWarning = {
|
|
102
|
+
readonly code: "daily_cap_zero";
|
|
103
|
+
readonly severity: "info";
|
|
104
|
+
readonly message: string;
|
|
105
|
+
readonly field: "dailyCapUsd";
|
|
106
|
+
} | {
|
|
107
|
+
readonly code: "daily_cap_unusually_high";
|
|
108
|
+
readonly severity: "warning";
|
|
109
|
+
readonly message: string;
|
|
110
|
+
readonly field: "dailyCapUsd";
|
|
111
|
+
/** Recommended cap (the heuristic threshold). */
|
|
112
|
+
readonly suggestedValue: bigint;
|
|
113
|
+
} | {
|
|
114
|
+
readonly code: "no_protocols_approved";
|
|
115
|
+
readonly severity: "warning";
|
|
116
|
+
readonly message: string;
|
|
117
|
+
readonly field: "protocols";
|
|
118
|
+
} | {
|
|
119
|
+
readonly code: "max_tx_exceeds_daily_cap";
|
|
120
|
+
readonly severity: "warning";
|
|
121
|
+
readonly message: string;
|
|
122
|
+
readonly field: "maxTxSizeUsd";
|
|
123
|
+
/** Recommended max-tx size (clamped to dailyCapUsd). */
|
|
124
|
+
readonly suggestedValue: bigint;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Output of `previewCreateVault`. Ships the dashboard's split-screen
|
|
128
|
+
* `/onboard` right column AND the unsigned transaction the FE passes to
|
|
129
|
+
* the wallet adapter for signing — one call, no second build.
|
|
130
|
+
*
|
|
131
|
+
* The object is `Object.freeze`d at runtime, and so are `pdaList` +
|
|
132
|
+
* `warnings`. Note: `Object.freeze` only protects the property bindings
|
|
133
|
+
* and the array containers — it does NOT freeze the underlying
|
|
134
|
+
* `unsignedTxBytes` buffer (typed-array contents are not frozen by
|
|
135
|
+
* `Object.freeze`). The type is `ReadonlyUint8Array` so consumers using
|
|
136
|
+
* the kit's typed alias get compile-time read-only enforcement; vanilla
|
|
137
|
+
* JS callers can still mutate the bytes. If your call site mutates them,
|
|
138
|
+
* the wallet adapter will sign whatever you mutated to — the kit doesn't
|
|
139
|
+
* (and can't) defend the buffer at runtime.
|
|
140
|
+
*/
|
|
141
|
+
export interface CreateVaultPreview {
|
|
142
|
+
/**
|
|
143
|
+
* The 4 PDAs `initialize_vault` creates, in canonical on-chain `init`
|
|
144
|
+
* order. Pinned as a length-4 tuple so `pdaList[0].name === "AgentVault"`
|
|
145
|
+
* is type-narrowed and FE indexing doesn't need runtime guards.
|
|
146
|
+
*/
|
|
147
|
+
readonly pdaList: readonly [
|
|
148
|
+
VaultPdaInfo<"AgentVault">,
|
|
149
|
+
VaultPdaInfo<"PolicyConfig">,
|
|
150
|
+
VaultPdaInfo<"SpendTracker">,
|
|
151
|
+
VaultPdaInfo<"AgentSpendOverlay">
|
|
152
|
+
];
|
|
153
|
+
/** Sum of `pdaList[].rentLamports`. The user sinks this into rent at sign time. */
|
|
154
|
+
readonly rentLamports: bigint;
|
|
155
|
+
/** Compute-unit limit set on the tx. Defaults to `CU_VAULT_CREATION` (400,000). */
|
|
156
|
+
readonly computeUnits: number;
|
|
157
|
+
/** `priorityFeeMicroLamports * computeUnits / 1_000_000` (microLamports → lamports). */
|
|
158
|
+
readonly feeLamports: bigint;
|
|
159
|
+
/** `(rentLamports + feeLamports) * solPriceUsd / 1_000_000_000n` — 6-decimal USD. */
|
|
160
|
+
readonly totalCostUsd: bigint;
|
|
161
|
+
/** Same as `pdaList[0].address` (AgentVault). Convenience field. */
|
|
162
|
+
readonly vaultAddress: Address;
|
|
163
|
+
/**
|
|
164
|
+
* Wire-encoded versioned transaction with empty signature placeholders.
|
|
165
|
+
* `ReadonlyUint8Array` for compile-time immutability via the kit's
|
|
166
|
+
* typed alias. Pass to wallet adapter `.signTransaction(bytes)`.
|
|
167
|
+
*/
|
|
168
|
+
readonly unsignedTxBytes: ReadonlyUint8Array;
|
|
169
|
+
/** Wire size in bytes; ≤ 1232 (Solana hard limit; `buildOwnerTransaction` enforces). */
|
|
170
|
+
readonly txSizeBytes: number;
|
|
171
|
+
/**
|
|
172
|
+
* Last block height at which the blockhash embedded in
|
|
173
|
+
* `unsignedTxBytes` is still valid. Sourced from the same blockhash
|
|
174
|
+
* `buildOwnerTransaction` baked into the bytes — no race with cache
|
|
175
|
+
* TTL refresh. FE polls block height to detect stale-blockhash before
|
|
176
|
+
* sign and re-previews if needed.
|
|
177
|
+
*/
|
|
178
|
+
readonly lastValidBlockHeight: bigint;
|
|
179
|
+
/** Soft warnings; `undefined` when none fire. Sorted by `code` ascending. */
|
|
180
|
+
readonly warnings?: readonly PreviewWarning[];
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Input config for `previewCreateVault`. Mirrors `CreateVaultOptions`
|
|
184
|
+
* field-for-field where overlap exists, with a few preview-specific
|
|
185
|
+
* additions:
|
|
186
|
+
*
|
|
187
|
+
* - `owner` is `Address` (preview never signs; we synthesize a noop signer).
|
|
188
|
+
* - `agentAddress` is `Address` (same reason; named differently to match
|
|
189
|
+
* the FE↔BE contract §3.3 example shape).
|
|
190
|
+
* - `solPriceUsd` is REQUIRED (kit has no oracle).
|
|
191
|
+
*
|
|
192
|
+
* `priorityFeeMicroLamports` defaults to `10_000` if omitted —
|
|
193
|
+
* conservative-but-not-zero so the preview's `feeLamports` is realistic
|
|
194
|
+
* without requiring callers to estimate first. Tests pin a value for
|
|
195
|
+
* deterministic assertions.
|
|
196
|
+
*/
|
|
197
|
+
export interface PreviewCreateVaultConfig {
|
|
198
|
+
/** RPC client for blockhash, rent, and ALT resolution. */
|
|
199
|
+
readonly rpc: Rpc<SolanaRpcApi>;
|
|
200
|
+
/** Owner pubkey. Becomes the fee payer on the unsigned tx. */
|
|
201
|
+
readonly owner: Address;
|
|
202
|
+
/** Initial agent's pubkey (gets registered atomically with vault init). */
|
|
203
|
+
readonly agentAddress: Address;
|
|
204
|
+
/** Network determines stablecoin mints + ALT address. */
|
|
205
|
+
readonly network: NetworkInput;
|
|
206
|
+
/** Vault id (u64). Use `0n` for the first vault per owner. */
|
|
207
|
+
readonly vaultId: bigint;
|
|
208
|
+
/** Vault-wide 24h cap in 6-decimal USD base units. `0n` blocks all spending. */
|
|
209
|
+
readonly dailyCapUsd: bigint;
|
|
210
|
+
/** Per-tx max in 6-decimal USD base units. */
|
|
211
|
+
readonly maxTxSizeUsd: bigint;
|
|
212
|
+
/** Per-agent cap in 6-decimal USD base units. */
|
|
213
|
+
readonly spendingLimitUsd: bigint;
|
|
214
|
+
/** Developer fee in BPS (200 = 0.02%, max `MAX_DEVELOPER_FEE_RATE` = 500). */
|
|
215
|
+
readonly developerFeeRate: number;
|
|
216
|
+
/** Max slippage in BPS (max `MAX_SLIPPAGE_BPS` = 5000). */
|
|
217
|
+
readonly maxSlippageBps: number;
|
|
218
|
+
/** Owner-policy timelock in seconds. Min `MIN_TIMELOCK_DURATION` = 1800. */
|
|
219
|
+
readonly timelockDuration: bigint;
|
|
220
|
+
/** Protocol-mode discriminator: 0 = ALL, 1 = ALLOWLIST, 2 = DENYLIST. */
|
|
221
|
+
readonly protocolMode: 0 | 1 | 2;
|
|
222
|
+
/** Up to 10 protocol program addresses for the (allow|deny)list. */
|
|
223
|
+
readonly protocols: readonly Address[];
|
|
224
|
+
/** Per-protocol caps (6-decimal USD base units). Length must match `protocols`. */
|
|
225
|
+
readonly protocolCaps: readonly bigint[];
|
|
226
|
+
/** Up to 10 destination addresses for agent transfers. */
|
|
227
|
+
readonly allowedDestinations: readonly Address[];
|
|
228
|
+
/** Where collected fees flow. Cannot be the system program (0…0). */
|
|
229
|
+
readonly feeDestination: Address;
|
|
230
|
+
/** Capability tier: 0 = Disabled, 1 = Observer, 2 = Operator. Defaults to 2n. */
|
|
231
|
+
readonly capabilityTier?: 0n | 1n | 2n;
|
|
232
|
+
/**
|
|
233
|
+
* Current SOL price in 6-decimal USD base units.
|
|
234
|
+
* E.g., $250 = `250_000_000n`. Required — kit has no oracle.
|
|
235
|
+
*/
|
|
236
|
+
readonly solPriceUsd: bigint;
|
|
237
|
+
/**
|
|
238
|
+
* Priority fee in microLamports per CU. Defaults to `10_000` if omitted.
|
|
239
|
+
* Tests should pass `0` for deterministic feeLamports of 0n.
|
|
240
|
+
*/
|
|
241
|
+
readonly priorityFeeMicroLamports?: number;
|
|
242
|
+
/** CU limit override. Defaults to `CU_VAULT_CREATION` (400_000). */
|
|
243
|
+
readonly computeUnits?: number;
|
|
244
|
+
/**
|
|
245
|
+
* Pre-fetched blockhash to skip the RPC `getLatestBlockhash` call.
|
|
246
|
+
* Useful for tests + for FE callers that already have a fresh blockhash
|
|
247
|
+
* from an upstream call.
|
|
248
|
+
*/
|
|
249
|
+
readonly blockhash?: {
|
|
250
|
+
blockhash: string;
|
|
251
|
+
lastValidBlockHeight: bigint;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Pre-resolved address-lookup tables to skip ALT discovery via RPC.
|
|
255
|
+
* Pass `{}` to disable ALT compression entirely (useful for unit tests
|
|
256
|
+
* that don't want to mock `getMultipleAccounts`). Production callers
|
|
257
|
+
* normally omit this so the kit's ALT cache resolves the canonical
|
|
258
|
+
* Sigil ALT for the given network.
|
|
259
|
+
*/
|
|
260
|
+
readonly addressLookupTables?: AddressesByLookupTableAddress;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Generate a `CreateVaultPreview` for the dashboard split-screen `/onboard`
|
|
264
|
+
* flow. See module JSDoc for the algorithm and design rationale.
|
|
265
|
+
*
|
|
266
|
+
* @throws {RangeError} If any bigint config field is negative or any count
|
|
267
|
+
* exceeds its on-chain maximum, or if `timelockDuration < 1800n`,
|
|
268
|
+
* or if `developerFeeRate > 500`.
|
|
269
|
+
* @throws {SigilSdkDomainError} If `validateNetwork(config.network)` fails,
|
|
270
|
+
* if `getMinimumBalanceForRentExemption` returns 0n / undefined,
|
|
271
|
+
* or if `createVault()` rejects the config (e.g., owner == agent,
|
|
272
|
+
* spendingLimit > dailyCap aggregate).
|
|
273
|
+
*/
|
|
274
|
+
export declare function previewCreateVault(config: PreviewCreateVaultConfig): Promise<CreateVaultPreview>;
|
|
275
|
+
/**
|
|
276
|
+
* Re-export `Network` so consumers importing `PreviewCreateVaultConfig`
|
|
277
|
+
* have the related type for narrowing without a second import.
|
|
278
|
+
*/
|
|
279
|
+
export type { Network };
|
|
280
|
+
//# sourceMappingURL=preview-create-vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-create-vault.d.ts","sourceRoot":"","sources":["../src/preview-create-vault.ts"],"names":[],"mappings":"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"}
|