@usesigil/kit 0.1.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/LICENSE +191 -0
- package/README.md +190 -0
- package/dist/advanced-analytics.d.ts +118 -0
- package/dist/advanced-analytics.d.ts.map +1 -0
- package/dist/advanced-analytics.js +341 -0
- package/dist/advanced-analytics.js.map +1 -0
- package/dist/agent-analytics.d.ts +76 -0
- package/dist/agent-analytics.d.ts.map +1 -0
- package/dist/agent-analytics.js +179 -0
- package/dist/agent-analytics.js.map +1 -0
- package/dist/agent-errors.d.ts +151 -0
- package/dist/agent-errors.d.ts.map +1 -0
- package/dist/agent-errors.js +2001 -0
- package/dist/agent-errors.js.map +1 -0
- package/dist/alt-config.d.ts +43 -0
- package/dist/alt-config.d.ts.map +1 -0
- package/dist/alt-config.js +78 -0
- package/dist/alt-config.js.map +1 -0
- package/dist/alt-loader.d.ts +47 -0
- package/dist/alt-loader.d.ts.map +1 -0
- package/dist/alt-loader.js +143 -0
- package/dist/alt-loader.js.map +1 -0
- package/dist/balance-tracker.d.ts +87 -0
- package/dist/balance-tracker.d.ts.map +1 -0
- package/dist/balance-tracker.js +181 -0
- package/dist/balance-tracker.js.map +1 -0
- package/dist/composer.d.ts +56 -0
- package/dist/composer.d.ts.map +1 -0
- package/dist/composer.js +77 -0
- package/dist/composer.js.map +1 -0
- package/dist/core/engine.d.ts +17 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +177 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/errors.d.ts +24 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +16 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +9 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +10 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/policies.d.ts +75 -0
- package/dist/core/policies.d.ts.map +1 -0
- package/dist/core/policies.js +126 -0
- package/dist/core/policies.js.map +1 -0
- package/dist/core/registry.d.ts +29 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +125 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/core/state.d.ts +71 -0
- package/dist/core/state.d.ts.map +1 -0
- package/dist/core/state.js +169 -0
- package/dist/core/state.js.map +1 -0
- package/dist/create-vault.d.ts +58 -0
- package/dist/create-vault.d.ts.map +1 -0
- package/dist/create-vault.js +90 -0
- package/dist/create-vault.js.map +1 -0
- package/dist/custody-adapter.d.ts +54 -0
- package/dist/custody-adapter.d.ts.map +1 -0
- package/dist/custody-adapter.js +45 -0
- package/dist/custody-adapter.js.map +1 -0
- package/dist/event-analytics.d.ts +45 -0
- package/dist/event-analytics.d.ts.map +1 -0
- package/dist/event-analytics.js +277 -0
- package/dist/event-analytics.js.map +1 -0
- package/dist/events.d.ts +56 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +151 -0
- package/dist/events.js.map +1 -0
- package/dist/formatting.d.ts +103 -0
- package/dist/formatting.d.ts.map +1 -0
- package/dist/formatting.js +244 -0
- package/dist/formatting.js.map +1 -0
- package/dist/generated/accounts/agentSpendOverlay.d.ts +54 -0
- package/dist/generated/accounts/agentSpendOverlay.d.ts.map +1 -0
- package/dist/generated/accounts/agentSpendOverlay.js +74 -0
- package/dist/generated/accounts/agentSpendOverlay.js.map +1 -0
- package/dist/generated/accounts/agentVault.d.ts +95 -0
- package/dist/generated/accounts/agentVault.d.ts.map +1 -0
- package/dist/generated/accounts/agentVault.js +83 -0
- package/dist/generated/accounts/agentVault.js.map +1 -0
- package/dist/generated/accounts/escrowDeposit.d.ts +50 -0
- package/dist/generated/accounts/escrowDeposit.d.ts.map +1 -0
- package/dist/generated/accounts/escrowDeposit.js +76 -0
- package/dist/generated/accounts/escrowDeposit.js.map +1 -0
- package/dist/generated/accounts/index.d.ts +17 -0
- package/dist/generated/accounts/index.d.ts.map +1 -0
- package/dist/generated/accounts/index.js +17 -0
- package/dist/generated/accounts/index.js.map +1 -0
- package/dist/generated/accounts/instructionConstraints.d.ts +37 -0
- package/dist/generated/accounts/instructionConstraints.d.ts.map +1 -0
- package/dist/generated/accounts/instructionConstraints.js +64 -0
- package/dist/generated/accounts/instructionConstraints.js.map +1 -0
- package/dist/generated/accounts/pendingConstraintsUpdate.d.ts +53 -0
- package/dist/generated/accounts/pendingConstraintsUpdate.d.ts.map +1 -0
- package/dist/generated/accounts/pendingConstraintsUpdate.js +68 -0
- package/dist/generated/accounts/pendingConstraintsUpdate.js.map +1 -0
- package/dist/generated/accounts/pendingPolicyUpdate.d.ts +72 -0
- package/dist/generated/accounts/pendingPolicyUpdate.d.ts.map +1 -0
- package/dist/generated/accounts/pendingPolicyUpdate.js +97 -0
- package/dist/generated/accounts/pendingPolicyUpdate.js.map +1 -0
- package/dist/generated/accounts/policyConfig.d.ts +180 -0
- package/dist/generated/accounts/policyConfig.d.ts.map +1 -0
- package/dist/generated/accounts/policyConfig.js +88 -0
- package/dist/generated/accounts/policyConfig.js.map +1 -0
- package/dist/generated/accounts/sessionAuthority.d.ts +104 -0
- package/dist/generated/accounts/sessionAuthority.d.ts.map +1 -0
- package/dist/generated/accounts/sessionAuthority.js +86 -0
- package/dist/generated/accounts/sessionAuthority.js.map +1 -0
- package/dist/generated/accounts/spendTracker.d.ts +60 -0
- package/dist/generated/accounts/spendTracker.d.ts.map +1 -0
- package/dist/generated/accounts/spendTracker.js +74 -0
- package/dist/generated/accounts/spendTracker.js.map +1 -0
- package/dist/generated/errors/index.d.ts +9 -0
- package/dist/generated/errors/index.d.ts.map +1 -0
- package/dist/generated/errors/index.js +9 -0
- package/dist/generated/errors/index.js.map +1 -0
- package/dist/generated/errors/sigil.d.ts +162 -0
- package/dist/generated/errors/sigil.d.ts.map +1 -0
- package/dist/generated/errors/sigil.js +237 -0
- package/dist/generated/errors/sigil.js.map +1 -0
- package/dist/generated/event-discriminators.d.ts +2 -0
- package/dist/generated/event-discriminators.d.ts.map +1 -0
- package/dist/generated/event-discriminators.js +39 -0
- package/dist/generated/event-discriminators.js.map +1 -0
- package/dist/generated/index.d.ts +13 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +13 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/instructions/agentTransfer.d.ts +109 -0
- package/dist/generated/instructions/agentTransfer.d.ts.map +1 -0
- package/dist/generated/instructions/agentTransfer.js +211 -0
- package/dist/generated/instructions/agentTransfer.js.map +1 -0
- package/dist/generated/instructions/applyConstraintsUpdate.d.ts +55 -0
- package/dist/generated/instructions/applyConstraintsUpdate.d.ts.map +1 -0
- package/dist/generated/instructions/applyConstraintsUpdate.js +129 -0
- package/dist/generated/instructions/applyConstraintsUpdate.js.map +1 -0
- package/dist/generated/instructions/applyPendingPolicy.d.ts +55 -0
- package/dist/generated/instructions/applyPendingPolicy.d.ts.map +1 -0
- package/dist/generated/instructions/applyPendingPolicy.js +122 -0
- package/dist/generated/instructions/applyPendingPolicy.js.map +1 -0
- package/dist/generated/instructions/cancelConstraintsUpdate.d.ts +51 -0
- package/dist/generated/instructions/cancelConstraintsUpdate.d.ts.map +1 -0
- package/dist/generated/instructions/cancelConstraintsUpdate.js +115 -0
- package/dist/generated/instructions/cancelConstraintsUpdate.js.map +1 -0
- package/dist/generated/instructions/cancelPendingPolicy.d.ts +55 -0
- package/dist/generated/instructions/cancelPendingPolicy.d.ts.map +1 -0
- package/dist/generated/instructions/cancelPendingPolicy.js +122 -0
- package/dist/generated/instructions/cancelPendingPolicy.js.map +1 -0
- package/dist/generated/instructions/closeInstructionConstraints.d.ts +55 -0
- package/dist/generated/instructions/closeInstructionConstraints.d.ts.map +1 -0
- package/dist/generated/instructions/closeInstructionConstraints.js +120 -0
- package/dist/generated/instructions/closeInstructionConstraints.js.map +1 -0
- package/dist/generated/instructions/closeSettledEscrow.d.ts +72 -0
- package/dist/generated/instructions/closeSettledEscrow.d.ts.map +1 -0
- package/dist/generated/instructions/closeSettledEscrow.js +127 -0
- package/dist/generated/instructions/closeSettledEscrow.js.map +1 -0
- package/dist/generated/instructions/closeVault.d.ts +69 -0
- package/dist/generated/instructions/closeVault.d.ts.map +1 -0
- package/dist/generated/instructions/closeVault.js +142 -0
- package/dist/generated/instructions/closeVault.js.map +1 -0
- package/dist/generated/instructions/createEscrow.d.ts +131 -0
- package/dist/generated/instructions/createEscrow.d.ts.map +1 -0
- package/dist/generated/instructions/createEscrow.js +272 -0
- package/dist/generated/instructions/createEscrow.js.map +1 -0
- package/dist/generated/instructions/createInstructionConstraints.d.ts +69 -0
- package/dist/generated/instructions/createInstructionConstraints.d.ts.map +1 -0
- package/dist/generated/instructions/createInstructionConstraints.js +145 -0
- package/dist/generated/instructions/createInstructionConstraints.js.map +1 -0
- package/dist/generated/instructions/depositFunds.d.ts +82 -0
- package/dist/generated/instructions/depositFunds.d.ts.map +1 -0
- package/dist/generated/instructions/depositFunds.js +198 -0
- package/dist/generated/instructions/depositFunds.js.map +1 -0
- package/dist/generated/instructions/finalizeSession.d.ts +126 -0
- package/dist/generated/instructions/finalizeSession.d.ts.map +1 -0
- package/dist/generated/instructions/finalizeSession.js +218 -0
- package/dist/generated/instructions/finalizeSession.js.map +1 -0
- package/dist/generated/instructions/freezeVault.d.ts +40 -0
- package/dist/generated/instructions/freezeVault.d.ts.map +1 -0
- package/dist/generated/instructions/freezeVault.js +66 -0
- package/dist/generated/instructions/freezeVault.js.map +1 -0
- package/dist/generated/instructions/index.d.ts +37 -0
- package/dist/generated/instructions/index.d.ts.map +1 -0
- package/dist/generated/instructions/index.js +37 -0
- package/dist/generated/instructions/index.js.map +1 -0
- package/dist/generated/instructions/initializeVault.d.ts +122 -0
- package/dist/generated/instructions/initializeVault.d.ts.map +1 -0
- package/dist/generated/instructions/initializeVault.js +187 -0
- package/dist/generated/instructions/initializeVault.js.map +1 -0
- package/dist/generated/instructions/pauseAgent.d.ts +44 -0
- package/dist/generated/instructions/pauseAgent.d.ts.map +1 -0
- package/dist/generated/instructions/pauseAgent.js +72 -0
- package/dist/generated/instructions/pauseAgent.js.map +1 -0
- package/dist/generated/instructions/queueConstraintsUpdate.d.ts +73 -0
- package/dist/generated/instructions/queueConstraintsUpdate.d.ts.map +1 -0
- package/dist/generated/instructions/queueConstraintsUpdate.js +168 -0
- package/dist/generated/instructions/queueConstraintsUpdate.js.map +1 -0
- package/dist/generated/instructions/queuePolicyUpdate.d.ts +116 -0
- package/dist/generated/instructions/queuePolicyUpdate.d.ts.map +1 -0
- package/dist/generated/instructions/queuePolicyUpdate.js +173 -0
- package/dist/generated/instructions/queuePolicyUpdate.js.map +1 -0
- package/dist/generated/instructions/reactivateVault.d.ts +47 -0
- package/dist/generated/instructions/reactivateVault.d.ts.map +1 -0
- package/dist/generated/instructions/reactivateVault.js +74 -0
- package/dist/generated/instructions/reactivateVault.js.map +1 -0
- package/dist/generated/instructions/refundEscrow.d.ts +74 -0
- package/dist/generated/instructions/refundEscrow.d.ts.map +1 -0
- package/dist/generated/instructions/refundEscrow.js +142 -0
- package/dist/generated/instructions/refundEscrow.js.map +1 -0
- package/dist/generated/instructions/registerAgent.d.ts +55 -0
- package/dist/generated/instructions/registerAgent.d.ts.map +1 -0
- package/dist/generated/instructions/registerAgent.js +85 -0
- package/dist/generated/instructions/registerAgent.js.map +1 -0
- package/dist/generated/instructions/revokeAgent.d.ts +49 -0
- package/dist/generated/instructions/revokeAgent.d.ts.map +1 -0
- package/dist/generated/instructions/revokeAgent.js +81 -0
- package/dist/generated/instructions/revokeAgent.js.map +1 -0
- package/dist/generated/instructions/settleEscrow.d.ts +80 -0
- package/dist/generated/instructions/settleEscrow.d.ts.map +1 -0
- package/dist/generated/instructions/settleEscrow.js +173 -0
- package/dist/generated/instructions/settleEscrow.js.map +1 -0
- package/dist/generated/instructions/syncPositions.d.ts +44 -0
- package/dist/generated/instructions/syncPositions.d.ts.map +1 -0
- package/dist/generated/instructions/syncPositions.js +72 -0
- package/dist/generated/instructions/syncPositions.js.map +1 -0
- package/dist/generated/instructions/unpauseAgent.d.ts +44 -0
- package/dist/generated/instructions/unpauseAgent.d.ts.map +1 -0
- package/dist/generated/instructions/unpauseAgent.js +72 -0
- package/dist/generated/instructions/unpauseAgent.js.map +1 -0
- package/dist/generated/instructions/updateAgentPermissions.d.ts +68 -0
- package/dist/generated/instructions/updateAgentPermissions.d.ts.map +1 -0
- package/dist/generated/instructions/updateAgentPermissions.js +139 -0
- package/dist/generated/instructions/updateAgentPermissions.js.map +1 -0
- package/dist/generated/instructions/updateInstructionConstraints.d.ts +65 -0
- package/dist/generated/instructions/updateInstructionConstraints.d.ts.map +1 -0
- package/dist/generated/instructions/updateInstructionConstraints.js +131 -0
- package/dist/generated/instructions/updateInstructionConstraints.js.map +1 -0
- package/dist/generated/instructions/updatePolicy.d.ts +108 -0
- package/dist/generated/instructions/updatePolicy.d.ts.map +1 -0
- package/dist/generated/instructions/updatePolicy.js +143 -0
- package/dist/generated/instructions/updatePolicy.js.map +1 -0
- package/dist/generated/instructions/validateAndAuthorize.d.ts +171 -0
- package/dist/generated/instructions/validateAndAuthorize.d.ts.map +1 -0
- package/dist/generated/instructions/validateAndAuthorize.js +271 -0
- package/dist/generated/instructions/validateAndAuthorize.js.map +1 -0
- package/dist/generated/instructions/withdrawFunds.d.ts +74 -0
- package/dist/generated/instructions/withdrawFunds.d.ts.map +1 -0
- package/dist/generated/instructions/withdrawFunds.js +166 -0
- package/dist/generated/instructions/withdrawFunds.js.map +1 -0
- package/dist/generated/programs/index.d.ts +9 -0
- package/dist/generated/programs/index.d.ts.map +1 -0
- package/dist/generated/programs/index.js +9 -0
- package/dist/generated/programs/index.js.map +1 -0
- package/dist/generated/programs/sigil.d.ts +173 -0
- package/dist/generated/programs/sigil.d.ts.map +1 -0
- package/dist/generated/programs/sigil.js +443 -0
- package/dist/generated/programs/sigil.js.map +1 -0
- package/dist/generated/types/accountConstraint.d.ts +18 -0
- package/dist/generated/types/accountConstraint.d.ts.map +1 -0
- package/dist/generated/types/accountConstraint.js +24 -0
- package/dist/generated/types/accountConstraint.js.map +1 -0
- package/dist/generated/types/actionAuthorized.d.ts +39 -0
- package/dist/generated/types/actionAuthorized.d.ts.map +1 -0
- package/dist/generated/types/actionAuthorized.js +43 -0
- package/dist/generated/types/actionAuthorized.js.map +1 -0
- package/dist/generated/types/actionType.d.ts +37 -0
- package/dist/generated/types/actionType.d.ts.map +1 -0
- package/dist/generated/types/actionType.js +43 -0
- package/dist/generated/types/actionType.js.map +1 -0
- package/dist/generated/types/agentContributionEntry.d.ts +49 -0
- package/dist/generated/types/agentContributionEntry.d.ts.map +1 -0
- package/dist/generated/types/agentContributionEntry.js +26 -0
- package/dist/generated/types/agentContributionEntry.js.map +1 -0
- package/dist/generated/types/agentEntry.d.ts +24 -0
- package/dist/generated/types/agentEntry.d.ts.map +1 -0
- package/dist/generated/types/agentEntry.js +28 -0
- package/dist/generated/types/agentEntry.js.map +1 -0
- package/dist/generated/types/agentPausedEvent.d.ts +22 -0
- package/dist/generated/types/agentPausedEvent.d.ts.map +1 -0
- package/dist/generated/types/agentPausedEvent.js +26 -0
- package/dist/generated/types/agentPausedEvent.js.map +1 -0
- package/dist/generated/types/agentPermissionsUpdated.d.ts +24 -0
- package/dist/generated/types/agentPermissionsUpdated.d.ts.map +1 -0
- package/dist/generated/types/agentPermissionsUpdated.js +28 -0
- package/dist/generated/types/agentPermissionsUpdated.js.map +1 -0
- package/dist/generated/types/agentRegistered.d.ts +26 -0
- package/dist/generated/types/agentRegistered.d.ts.map +1 -0
- package/dist/generated/types/agentRegistered.js +30 -0
- package/dist/generated/types/agentRegistered.js.map +1 -0
- package/dist/generated/types/agentRevoked.d.ts +24 -0
- package/dist/generated/types/agentRevoked.d.ts.map +1 -0
- package/dist/generated/types/agentRevoked.js +28 -0
- package/dist/generated/types/agentRevoked.js.map +1 -0
- package/dist/generated/types/agentSpendLimitChecked.d.ts +28 -0
- package/dist/generated/types/agentSpendLimitChecked.d.ts.map +1 -0
- package/dist/generated/types/agentSpendLimitChecked.js +32 -0
- package/dist/generated/types/agentSpendLimitChecked.js.map +1 -0
- package/dist/generated/types/agentTransferExecuted.d.ts +24 -0
- package/dist/generated/types/agentTransferExecuted.d.ts.map +1 -0
- package/dist/generated/types/agentTransferExecuted.js +28 -0
- package/dist/generated/types/agentTransferExecuted.js.map +1 -0
- package/dist/generated/types/agentUnpausedEvent.d.ts +22 -0
- package/dist/generated/types/agentUnpausedEvent.d.ts.map +1 -0
- package/dist/generated/types/agentUnpausedEvent.js +26 -0
- package/dist/generated/types/agentUnpausedEvent.js.map +1 -0
- package/dist/generated/types/constraintEntry.d.ts +23 -0
- package/dist/generated/types/constraintEntry.d.ts.map +1 -0
- package/dist/generated/types/constraintEntry.js +27 -0
- package/dist/generated/types/constraintEntry.js.map +1 -0
- package/dist/generated/types/constraintOperator.d.ts +22 -0
- package/dist/generated/types/constraintOperator.d.ts.map +1 -0
- package/dist/generated/types/constraintOperator.js +28 -0
- package/dist/generated/types/constraintOperator.js.map +1 -0
- package/dist/generated/types/constraintsChangeApplied.d.ts +20 -0
- package/dist/generated/types/constraintsChangeApplied.d.ts.map +1 -0
- package/dist/generated/types/constraintsChangeApplied.js +24 -0
- package/dist/generated/types/constraintsChangeApplied.js.map +1 -0
- package/dist/generated/types/constraintsChangeCancelled.d.ts +16 -0
- package/dist/generated/types/constraintsChangeCancelled.d.ts.map +1 -0
- package/dist/generated/types/constraintsChangeCancelled.js +18 -0
- package/dist/generated/types/constraintsChangeCancelled.js.map +1 -0
- package/dist/generated/types/constraintsChangeQueued.d.ts +20 -0
- package/dist/generated/types/constraintsChangeQueued.d.ts.map +1 -0
- package/dist/generated/types/constraintsChangeQueued.js +24 -0
- package/dist/generated/types/constraintsChangeQueued.js.map +1 -0
- package/dist/generated/types/dataConstraint.d.ts +23 -0
- package/dist/generated/types/dataConstraint.d.ts.map +1 -0
- package/dist/generated/types/dataConstraint.js +27 -0
- package/dist/generated/types/dataConstraint.js.map +1 -0
- package/dist/generated/types/delegationRevoked.d.ts +22 -0
- package/dist/generated/types/delegationRevoked.d.ts.map +1 -0
- package/dist/generated/types/delegationRevoked.js +26 -0
- package/dist/generated/types/delegationRevoked.js.map +1 -0
- package/dist/generated/types/epochBucket.d.ts +28 -0
- package/dist/generated/types/epochBucket.d.ts.map +1 -0
- package/dist/generated/types/epochBucket.js +24 -0
- package/dist/generated/types/epochBucket.js.map +1 -0
- package/dist/generated/types/escrowCreated.d.ts +30 -0
- package/dist/generated/types/escrowCreated.d.ts.map +1 -0
- package/dist/generated/types/escrowCreated.js +34 -0
- package/dist/generated/types/escrowCreated.js.map +1 -0
- package/dist/generated/types/escrowRefunded.d.ts +26 -0
- package/dist/generated/types/escrowRefunded.d.ts.map +1 -0
- package/dist/generated/types/escrowRefunded.js +30 -0
- package/dist/generated/types/escrowRefunded.js.map +1 -0
- package/dist/generated/types/escrowSettled.d.ts +26 -0
- package/dist/generated/types/escrowSettled.d.ts.map +1 -0
- package/dist/generated/types/escrowSettled.js +30 -0
- package/dist/generated/types/escrowSettled.js.map +1 -0
- package/dist/generated/types/escrowStatus.d.ts +18 -0
- package/dist/generated/types/escrowStatus.d.ts.map +1 -0
- package/dist/generated/types/escrowStatus.js +24 -0
- package/dist/generated/types/escrowStatus.js.map +1 -0
- package/dist/generated/types/feesCollected.d.ts +38 -0
- package/dist/generated/types/feesCollected.d.ts.map +1 -0
- package/dist/generated/types/feesCollected.js +42 -0
- package/dist/generated/types/feesCollected.js.map +1 -0
- package/dist/generated/types/fundsDeposited.d.ts +24 -0
- package/dist/generated/types/fundsDeposited.d.ts.map +1 -0
- package/dist/generated/types/fundsDeposited.js +28 -0
- package/dist/generated/types/fundsDeposited.js.map +1 -0
- package/dist/generated/types/fundsWithdrawn.d.ts +26 -0
- package/dist/generated/types/fundsWithdrawn.d.ts.map +1 -0
- package/dist/generated/types/fundsWithdrawn.js +30 -0
- package/dist/generated/types/fundsWithdrawn.js.map +1 -0
- package/dist/generated/types/index.d.ts +50 -0
- package/dist/generated/types/index.d.ts.map +1 -0
- package/dist/generated/types/index.js +50 -0
- package/dist/generated/types/index.js.map +1 -0
- package/dist/generated/types/instructionConstraintsClosed.d.ts +20 -0
- package/dist/generated/types/instructionConstraintsClosed.d.ts.map +1 -0
- package/dist/generated/types/instructionConstraintsClosed.js +24 -0
- package/dist/generated/types/instructionConstraintsClosed.js.map +1 -0
- package/dist/generated/types/instructionConstraintsCreated.d.ts +24 -0
- package/dist/generated/types/instructionConstraintsCreated.d.ts.map +1 -0
- package/dist/generated/types/instructionConstraintsCreated.js +28 -0
- package/dist/generated/types/instructionConstraintsCreated.js.map +1 -0
- package/dist/generated/types/instructionConstraintsUpdated.d.ts +24 -0
- package/dist/generated/types/instructionConstraintsUpdated.d.ts.map +1 -0
- package/dist/generated/types/instructionConstraintsUpdated.js +28 -0
- package/dist/generated/types/instructionConstraintsUpdated.js.map +1 -0
- package/dist/generated/types/policyChangeApplied.d.ts +20 -0
- package/dist/generated/types/policyChangeApplied.d.ts.map +1 -0
- package/dist/generated/types/policyChangeApplied.js +24 -0
- package/dist/generated/types/policyChangeApplied.js.map +1 -0
- package/dist/generated/types/policyChangeCancelled.d.ts +16 -0
- package/dist/generated/types/policyChangeCancelled.d.ts.map +1 -0
- package/dist/generated/types/policyChangeCancelled.js +18 -0
- package/dist/generated/types/policyChangeCancelled.js.map +1 -0
- package/dist/generated/types/policyChangeQueued.d.ts +20 -0
- package/dist/generated/types/policyChangeQueued.d.ts.map +1 -0
- package/dist/generated/types/policyChangeQueued.js +24 -0
- package/dist/generated/types/policyChangeQueued.js.map +1 -0
- package/dist/generated/types/policyUpdated.d.ts +34 -0
- package/dist/generated/types/policyUpdated.d.ts.map +1 -0
- package/dist/generated/types/policyUpdated.js +38 -0
- package/dist/generated/types/policyUpdated.js.map +1 -0
- package/dist/generated/types/positionsSynced.d.ts +24 -0
- package/dist/generated/types/positionsSynced.d.ts.map +1 -0
- package/dist/generated/types/positionsSynced.js +28 -0
- package/dist/generated/types/positionsSynced.js.map +1 -0
- package/dist/generated/types/protocolSpendCounter.d.ts +33 -0
- package/dist/generated/types/protocolSpendCounter.d.ts.map +1 -0
- package/dist/generated/types/protocolSpendCounter.js +26 -0
- package/dist/generated/types/protocolSpendCounter.js.map +1 -0
- package/dist/generated/types/sessionFinalized.d.ts +32 -0
- package/dist/generated/types/sessionFinalized.d.ts.map +1 -0
- package/dist/generated/types/sessionFinalized.js +36 -0
- package/dist/generated/types/sessionFinalized.js.map +1 -0
- package/dist/generated/types/vaultClosed.d.ts +22 -0
- package/dist/generated/types/vaultClosed.d.ts.map +1 -0
- package/dist/generated/types/vaultClosed.js +26 -0
- package/dist/generated/types/vaultClosed.js.map +1 -0
- package/dist/generated/types/vaultCreated.d.ts +24 -0
- package/dist/generated/types/vaultCreated.d.ts.map +1 -0
- package/dist/generated/types/vaultCreated.js +28 -0
- package/dist/generated/types/vaultCreated.js.map +1 -0
- package/dist/generated/types/vaultFrozen.d.ts +24 -0
- package/dist/generated/types/vaultFrozen.d.ts.map +1 -0
- package/dist/generated/types/vaultFrozen.js +28 -0
- package/dist/generated/types/vaultFrozen.js.map +1 -0
- package/dist/generated/types/vaultReactivated.d.ts +24 -0
- package/dist/generated/types/vaultReactivated.d.ts.map +1 -0
- package/dist/generated/types/vaultReactivated.js +28 -0
- package/dist/generated/types/vaultReactivated.js.map +1 -0
- package/dist/generated/types/vaultStatus.d.ts +19 -0
- package/dist/generated/types/vaultStatus.d.ts.map +1 -0
- package/dist/generated/types/vaultStatus.js +25 -0
- package/dist/generated/types/vaultStatus.js.map +1 -0
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +113 -0
- package/dist/index.js.map +1 -0
- package/dist/inscribe.d.ts +134 -0
- package/dist/inscribe.d.ts.map +1 -0
- package/dist/inscribe.js +149 -0
- package/dist/inscribe.js.map +1 -0
- package/dist/inspector.d.ts +85 -0
- package/dist/inspector.d.ts.map +1 -0
- package/dist/inspector.js +188 -0
- package/dist/inspector.js.map +1 -0
- package/dist/math-utils.d.ts +15 -0
- package/dist/math-utils.d.ts.map +1 -0
- package/dist/math-utils.js +29 -0
- package/dist/math-utils.js.map +1 -0
- package/dist/owner-transaction.d.ts +42 -0
- package/dist/owner-transaction.d.ts.map +1 -0
- package/dist/owner-transaction.js +71 -0
- package/dist/owner-transaction.js.map +1 -0
- package/dist/policies.d.ts +70 -0
- package/dist/policies.d.ts.map +1 -0
- package/dist/policies.js +87 -0
- package/dist/policies.js.map +1 -0
- package/dist/portfolio-analytics.d.ts +82 -0
- package/dist/portfolio-analytics.d.ts.map +1 -0
- package/dist/portfolio-analytics.js +232 -0
- package/dist/portfolio-analytics.js.map +1 -0
- package/dist/presets.d.ts +108 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +110 -0
- package/dist/presets.js.map +1 -0
- package/dist/priority-fees.d.ts +49 -0
- package/dist/priority-fees.d.ts.map +1 -0
- package/dist/priority-fees.js +175 -0
- package/dist/priority-fees.js.map +1 -0
- package/dist/protocol-analytics.d.ts +35 -0
- package/dist/protocol-analytics.d.ts.map +1 -0
- package/dist/protocol-analytics.js +64 -0
- package/dist/protocol-analytics.js.map +1 -0
- package/dist/protocol-names.d.ts +9 -0
- package/dist/protocol-names.d.ts.map +1 -0
- package/dist/protocol-names.js +18 -0
- package/dist/protocol-names.js.map +1 -0
- package/dist/protocol-resolver.d.ts +54 -0
- package/dist/protocol-resolver.d.ts.map +1 -0
- package/dist/protocol-resolver.js +123 -0
- package/dist/protocol-resolver.js.map +1 -0
- package/dist/resolve-accounts.d.ts +38 -0
- package/dist/resolve-accounts.d.ts.map +1 -0
- package/dist/resolve-accounts.js +120 -0
- package/dist/resolve-accounts.js.map +1 -0
- package/dist/rpc-helpers.d.ts +50 -0
- package/dist/rpc-helpers.d.ts.map +1 -0
- package/dist/rpc-helpers.js +119 -0
- package/dist/rpc-helpers.js.map +1 -0
- package/dist/seal.d.ts +211 -0
- package/dist/seal.d.ts.map +1 -0
- package/dist/seal.js +569 -0
- package/dist/seal.js.map +1 -0
- package/dist/security-analytics.d.ts +85 -0
- package/dist/security-analytics.d.ts.map +1 -0
- package/dist/security-analytics.js +510 -0
- package/dist/security-analytics.js.map +1 -0
- package/dist/shield.d.ts +235 -0
- package/dist/shield.d.ts.map +1 -0
- package/dist/shield.js +701 -0
- package/dist/shield.js.map +1 -0
- package/dist/simulation.d.ts +111 -0
- package/dist/simulation.d.ts.map +1 -0
- package/dist/simulation.js +514 -0
- package/dist/simulation.js.map +1 -0
- package/dist/spending-analytics.d.ts +91 -0
- package/dist/spending-analytics.d.ts.map +1 -0
- package/dist/spending-analytics.js +217 -0
- package/dist/spending-analytics.js.map +1 -0
- package/dist/state-resolver.d.ts +173 -0
- package/dist/state-resolver.d.ts.map +1 -0
- package/dist/state-resolver.js +660 -0
- package/dist/state-resolver.js.map +1 -0
- package/dist/tee/cache.d.ts +28 -0
- package/dist/tee/cache.d.ts.map +1 -0
- package/dist/tee/cache.js +75 -0
- package/dist/tee/cache.js.map +1 -0
- package/dist/tee/index.d.ts +9 -0
- package/dist/tee/index.d.ts.map +1 -0
- package/dist/tee/index.js +9 -0
- package/dist/tee/index.js.map +1 -0
- package/dist/tee/nitro-root.d.ts +11 -0
- package/dist/tee/nitro-root.d.ts.map +1 -0
- package/dist/tee/nitro-root.js +24 -0
- package/dist/tee/nitro-root.js.map +1 -0
- package/dist/tee/providers/crossmint.d.ts +12 -0
- package/dist/tee/providers/crossmint.d.ts.map +1 -0
- package/dist/tee/providers/crossmint.js +73 -0
- package/dist/tee/providers/crossmint.js.map +1 -0
- package/dist/tee/providers/privy.d.ts +12 -0
- package/dist/tee/providers/privy.d.ts.map +1 -0
- package/dist/tee/providers/privy.js +73 -0
- package/dist/tee/providers/privy.js.map +1 -0
- package/dist/tee/providers/turnkey.d.ts +34 -0
- package/dist/tee/providers/turnkey.d.ts.map +1 -0
- package/dist/tee/providers/turnkey.js +401 -0
- package/dist/tee/providers/turnkey.js.map +1 -0
- package/dist/tee/types.d.ts +124 -0
- package/dist/tee/types.d.ts.map +1 -0
- package/dist/tee/types.js +51 -0
- package/dist/tee/types.js.map +1 -0
- package/dist/tee/verify.d.ts +34 -0
- package/dist/tee/verify.d.ts.map +1 -0
- package/dist/tee/verify.js +177 -0
- package/dist/tee/verify.js.map +1 -0
- package/dist/tee/wallet-types.d.ts +61 -0
- package/dist/tee/wallet-types.d.ts.map +1 -0
- package/dist/tee/wallet-types.js +42 -0
- package/dist/tee/wallet-types.js.map +1 -0
- package/dist/testing/devnet.d.ts +64 -0
- package/dist/testing/devnet.d.ts.map +1 -0
- package/dist/testing/devnet.js +222 -0
- package/dist/testing/devnet.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +9 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-rpc.d.ts +31 -0
- package/dist/testing/mock-rpc.d.ts.map +1 -0
- package/dist/testing/mock-rpc.js +50 -0
- package/dist/testing/mock-rpc.js.map +1 -0
- package/dist/testing/mock-state.d.ts +35 -0
- package/dist/testing/mock-state.d.ts.map +1 -0
- package/dist/testing/mock-state.js +86 -0
- package/dist/testing/mock-state.js.map +1 -0
- package/dist/tokens.d.ts +35 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +157 -0
- package/dist/tokens.js.map +1 -0
- package/dist/transaction-executor.d.ts +116 -0
- package/dist/transaction-executor.d.ts.map +1 -0
- package/dist/transaction-executor.js +165 -0
- package/dist/transaction-executor.js.map +1 -0
- package/dist/types.d.ts +102 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +216 -0
- package/dist/types.js.map +1 -0
- package/dist/vault-analytics.d.ts +83 -0
- package/dist/vault-analytics.d.ts.map +1 -0
- package/dist/vault-analytics.js +175 -0
- package/dist/vault-analytics.js.map +1 -0
- package/dist/velocity-tracker.d.ts +79 -0
- package/dist/velocity-tracker.d.ts.map +1 -0
- package/dist/velocity-tracker.js +183 -0
- package/dist/velocity-tracker.js.map +1 -0
- package/dist/x402/amount-guard.d.ts +26 -0
- package/dist/x402/amount-guard.d.ts.map +1 -0
- package/dist/x402/amount-guard.js +80 -0
- package/dist/x402/amount-guard.js.map +1 -0
- package/dist/x402/audit-trail.d.ts +26 -0
- package/dist/x402/audit-trail.d.ts.map +1 -0
- package/dist/x402/audit-trail.js +32 -0
- package/dist/x402/audit-trail.js.map +1 -0
- package/dist/x402/codec.d.ts +26 -0
- package/dist/x402/codec.d.ts.map +1 -0
- package/dist/x402/codec.js +95 -0
- package/dist/x402/codec.js.map +1 -0
- package/dist/x402/errors.d.ts +34 -0
- package/dist/x402/errors.d.ts.map +1 -0
- package/dist/x402/errors.js +53 -0
- package/dist/x402/errors.js.map +1 -0
- package/dist/x402/facilitator-verify.d.ts +24 -0
- package/dist/x402/facilitator-verify.d.ts.map +1 -0
- package/dist/x402/facilitator-verify.js +74 -0
- package/dist/x402/facilitator-verify.js.map +1 -0
- package/dist/x402/index.d.ts +14 -0
- package/dist/x402/index.d.ts.map +1 -0
- package/dist/x402/index.js +23 -0
- package/dist/x402/index.js.map +1 -0
- package/dist/x402/nonce-tracker.d.ts +65 -0
- package/dist/x402/nonce-tracker.d.ts.map +1 -0
- package/dist/x402/nonce-tracker.js +123 -0
- package/dist/x402/nonce-tracker.js.map +1 -0
- package/dist/x402/payment-selector.d.ts +20 -0
- package/dist/x402/payment-selector.d.ts.map +1 -0
- package/dist/x402/payment-selector.js +49 -0
- package/dist/x402/payment-selector.js.map +1 -0
- package/dist/x402/policy-bridge.d.ts +23 -0
- package/dist/x402/policy-bridge.d.ts.map +1 -0
- package/dist/x402/policy-bridge.js +67 -0
- package/dist/x402/policy-bridge.js.map +1 -0
- package/dist/x402/shielded-fetch.d.ts +46 -0
- package/dist/x402/shielded-fetch.d.ts.map +1 -0
- package/dist/x402/shielded-fetch.js +342 -0
- package/dist/x402/shielded-fetch.js.map +1 -0
- package/dist/x402/transfer-builder.d.ts +43 -0
- package/dist/x402/transfer-builder.d.ts.map +1 -0
- package/dist/x402/transfer-builder.js +126 -0
- package/dist/x402/transfer-builder.js.map +1 -0
- package/dist/x402/types.d.ts +109 -0
- package/dist/x402/types.d.ts.map +1 -0
- package/dist/x402/types.js +8 -0
- package/dist/x402/types.js.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* createVault() — Provision an on-chain Sigil vault.
|
|
3
|
+
*
|
|
4
|
+
* Returns instructions (not a signed transaction) so the caller controls
|
|
5
|
+
* transaction composition, signing, and sending.
|
|
6
|
+
*/
|
|
7
|
+
import type { Address, Rpc, SolanaRpcApi, TransactionSigner } from "@solana/kit";
|
|
8
|
+
import type { Instruction } from "@solana/kit";
|
|
9
|
+
import type { SendAndConfirmOptions } from "./rpc-helpers.js";
|
|
10
|
+
export interface CreateVaultOptions {
|
|
11
|
+
rpc: Rpc<SolanaRpcApi>;
|
|
12
|
+
network: "devnet" | "mainnet";
|
|
13
|
+
owner: TransactionSigner;
|
|
14
|
+
agent: TransactionSigner;
|
|
15
|
+
permissions?: bigint;
|
|
16
|
+
spendingLimitUsd?: bigint;
|
|
17
|
+
dailySpendingCapUsd?: bigint;
|
|
18
|
+
maxTransactionSizeUsd?: bigint;
|
|
19
|
+
feeDestination?: Address;
|
|
20
|
+
developerFeeRate?: number;
|
|
21
|
+
protocols?: Address[];
|
|
22
|
+
protocolMode?: number;
|
|
23
|
+
maxLeverageBps?: number;
|
|
24
|
+
maxConcurrentPositions?: number;
|
|
25
|
+
maxSlippageBps?: number;
|
|
26
|
+
timelockDuration?: number;
|
|
27
|
+
allowedDestinations?: Address[];
|
|
28
|
+
vaultId?: bigint;
|
|
29
|
+
}
|
|
30
|
+
export interface CreateVaultResult {
|
|
31
|
+
vaultAddress: Address;
|
|
32
|
+
vaultId: bigint;
|
|
33
|
+
policyAddress: Address;
|
|
34
|
+
agentOverlayAddress: Address;
|
|
35
|
+
initializeVaultIx: Instruction;
|
|
36
|
+
registerAgentIx: Instruction;
|
|
37
|
+
}
|
|
38
|
+
export declare function createVault(options: CreateVaultOptions): Promise<CreateVaultResult>;
|
|
39
|
+
export interface CreateAndSendVaultOptions extends CreateVaultOptions {
|
|
40
|
+
/** Priority fee in microLamports per CU. Default: 0. */
|
|
41
|
+
priorityFeeMicroLamports?: number;
|
|
42
|
+
/** Override compute units. Default: CU_OWNER_ACTION (200,000). */
|
|
43
|
+
computeUnits?: number;
|
|
44
|
+
/** Confirmation options (timeout, poll interval, commitment). */
|
|
45
|
+
confirmOptions?: SendAndConfirmOptions;
|
|
46
|
+
}
|
|
47
|
+
export interface CreateAndSendVaultResult extends CreateVaultResult {
|
|
48
|
+
/** Confirmed transaction signature. */
|
|
49
|
+
signature: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* One-call vault creation: build instructions, compose transaction, sign, send, and confirm.
|
|
53
|
+
*
|
|
54
|
+
* Equivalent to calling createVault() → buildOwnerTransaction() → signAndEncode()
|
|
55
|
+
* → sendAndConfirmTransaction() manually.
|
|
56
|
+
*/
|
|
57
|
+
export declare function createAndSendVault(options: CreateAndSendVaultOptions): Promise<CreateAndSendVaultResult>;
|
|
58
|
+
//# sourceMappingURL=create-vault.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-vault.d.ts","sourceRoot":"","sources":["../src/create-vault.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,GAAG,EACH,YAAY,EACZ,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI9D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,eAAe,EAAE,WAAW,CAAC;CAC9B;AAID,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAgE5B;AAID,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,wDAAwD;IACxD,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAoBnC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* createVault() — Provision an on-chain Sigil vault.
|
|
3
|
+
*
|
|
4
|
+
* Returns instructions (not a signed transaction) so the caller controls
|
|
5
|
+
* transaction composition, signing, and sending.
|
|
6
|
+
*/
|
|
7
|
+
import { getInitializeVaultInstructionAsync } from "./generated/instructions/initializeVault.js";
|
|
8
|
+
import { getRegisterAgentInstruction } from "./generated/instructions/registerAgent.js";
|
|
9
|
+
import { getVaultPDA, getPolicyPDA, getAgentOverlayPDA, } from "./resolve-accounts.js";
|
|
10
|
+
import { findNextVaultId } from "./inscribe.js";
|
|
11
|
+
import { FULL_PERMISSIONS, toInstruction } from "./types.js";
|
|
12
|
+
import { buildOwnerTransaction } from "./owner-transaction.js";
|
|
13
|
+
import { signAndEncode, sendAndConfirmTransaction } from "./rpc-helpers.js";
|
|
14
|
+
// ─── createVault() ──────────────────────────────────────────────────────────
|
|
15
|
+
export async function createVault(options) {
|
|
16
|
+
// Validate owner ≠ agent
|
|
17
|
+
if (options.owner.address === options.agent.address) {
|
|
18
|
+
throw new Error("Owner and agent must be different keys. " +
|
|
19
|
+
"The owner has full vault authority; the agent has constrained execution only.");
|
|
20
|
+
}
|
|
21
|
+
// Step 1: Resolve vault ID
|
|
22
|
+
const vaultId = options.vaultId ??
|
|
23
|
+
(await findNextVaultId(options.rpc, options.owner.address));
|
|
24
|
+
// Step 2: Derive PDAs
|
|
25
|
+
const [vaultAddress] = await getVaultPDA(options.owner.address, vaultId);
|
|
26
|
+
const [policyAddress] = await getPolicyPDA(vaultAddress);
|
|
27
|
+
const [agentOverlayAddress] = await getAgentOverlayPDA(vaultAddress, 0);
|
|
28
|
+
// Step 3: Defaults
|
|
29
|
+
const dailySpendingCapUsd = options.dailySpendingCapUsd ?? 500000000n;
|
|
30
|
+
const maxTransactionSizeUsd = options.maxTransactionSizeUsd ?? dailySpendingCapUsd;
|
|
31
|
+
const feeDestination = options.feeDestination ?? options.owner.address;
|
|
32
|
+
const protocols = options.protocols ?? [];
|
|
33
|
+
const protocolMode = options.protocolMode ?? 0;
|
|
34
|
+
// Step 4: Build initializeVault instruction
|
|
35
|
+
const initializeVaultIx = await getInitializeVaultInstructionAsync({
|
|
36
|
+
owner: options.owner,
|
|
37
|
+
agentSpendOverlay: agentOverlayAddress,
|
|
38
|
+
feeDestination,
|
|
39
|
+
vaultId,
|
|
40
|
+
dailySpendingCapUsd,
|
|
41
|
+
maxTransactionSizeUsd,
|
|
42
|
+
protocolMode,
|
|
43
|
+
protocols,
|
|
44
|
+
maxLeverageBps: options.maxLeverageBps ?? 0,
|
|
45
|
+
maxConcurrentPositions: options.maxConcurrentPositions ?? 5,
|
|
46
|
+
developerFeeRate: options.developerFeeRate ?? 0,
|
|
47
|
+
maxSlippageBps: options.maxSlippageBps ?? 100,
|
|
48
|
+
timelockDuration: options.timelockDuration ?? 0,
|
|
49
|
+
allowedDestinations: options.allowedDestinations ?? [],
|
|
50
|
+
protocolCaps: protocols.map(() => 0n),
|
|
51
|
+
});
|
|
52
|
+
// Step 5: Build registerAgent instruction
|
|
53
|
+
const registerAgentIx = getRegisterAgentInstruction({
|
|
54
|
+
owner: options.owner,
|
|
55
|
+
vault: vaultAddress,
|
|
56
|
+
agentSpendOverlay: agentOverlayAddress,
|
|
57
|
+
agent: options.agent.address,
|
|
58
|
+
permissions: options.permissions ?? FULL_PERMISSIONS,
|
|
59
|
+
spendingLimitUsd: options.spendingLimitUsd ?? 0n,
|
|
60
|
+
});
|
|
61
|
+
return {
|
|
62
|
+
vaultAddress,
|
|
63
|
+
vaultId,
|
|
64
|
+
policyAddress,
|
|
65
|
+
agentOverlayAddress,
|
|
66
|
+
initializeVaultIx: toInstruction(initializeVaultIx),
|
|
67
|
+
registerAgentIx: toInstruction(registerAgentIx),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* One-call vault creation: build instructions, compose transaction, sign, send, and confirm.
|
|
72
|
+
*
|
|
73
|
+
* Equivalent to calling createVault() → buildOwnerTransaction() → signAndEncode()
|
|
74
|
+
* → sendAndConfirmTransaction() manually.
|
|
75
|
+
*/
|
|
76
|
+
export async function createAndSendVault(options) {
|
|
77
|
+
const result = await createVault(options);
|
|
78
|
+
const ownerTx = await buildOwnerTransaction({
|
|
79
|
+
rpc: options.rpc,
|
|
80
|
+
owner: options.owner,
|
|
81
|
+
instructions: [result.initializeVaultIx, result.registerAgentIx],
|
|
82
|
+
network: options.network,
|
|
83
|
+
computeUnits: options.computeUnits,
|
|
84
|
+
priorityFeeMicroLamports: options.priorityFeeMicroLamports,
|
|
85
|
+
});
|
|
86
|
+
const encoded = await signAndEncode(options.owner, ownerTx.transaction);
|
|
87
|
+
const signature = await sendAndConfirmTransaction(options.rpc, encoded, options.confirmOptions);
|
|
88
|
+
return { ...result, signature };
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=create-vault.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-vault.js","sourceRoot":"","sources":["../src/create-vault.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CustodyAdapter — Kit-native interface for custody providers.
|
|
3
|
+
*
|
|
4
|
+
* Bridges third-party custody adapters (Turnkey, Fireblocks, Crossmint, etc.)
|
|
5
|
+
* to @solana/kit's TransactionSigner interface.
|
|
6
|
+
*
|
|
7
|
+
* This is the standardized 3-method contract that Phase 8 custody packages
|
|
8
|
+
* will implement. The bridge function converts any CustodyAdapter into a
|
|
9
|
+
* TransactionPartialSigner usable anywhere Kit expects a signer.
|
|
10
|
+
*/
|
|
11
|
+
import type { Address, TransactionSigner } from "@solana/kit";
|
|
12
|
+
import type { AttestationResult } from "./tee/types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Standardized interface for custody providers.
|
|
15
|
+
*
|
|
16
|
+
* Implementors:
|
|
17
|
+
* - `@usesigil/custody/turnkey` — TEE + Ed25519
|
|
18
|
+
* - `@usesigil/custody/crossmint` — API-verified TEE
|
|
19
|
+
* - `@usesigil/custody/privy` — Embedded wallets
|
|
20
|
+
*
|
|
21
|
+
* 3-method contract:
|
|
22
|
+
* - getPublicKey(): Address of the custody-managed signing key
|
|
23
|
+
* - sign(): Raw Ed25519 signature over arbitrary bytes
|
|
24
|
+
* - attestation() (optional): TEE attestation proof
|
|
25
|
+
*/
|
|
26
|
+
export interface CustodyAdapter {
|
|
27
|
+
/** Get the public key (address) of the custody-managed signing key. */
|
|
28
|
+
getPublicKey(): Address;
|
|
29
|
+
/**
|
|
30
|
+
* Sign arbitrary bytes. Returns a 64-byte Ed25519 signature.
|
|
31
|
+
* The adapter handles key access (TEE, MPC, HSM, etc.) internally.
|
|
32
|
+
*/
|
|
33
|
+
sign(bytes: Uint8Array): Promise<Uint8Array>;
|
|
34
|
+
/**
|
|
35
|
+
* Optional: Retrieve TEE attestation proof for the custody key.
|
|
36
|
+
* Returns null if the provider doesn't support attestation.
|
|
37
|
+
*/
|
|
38
|
+
attestation?(): Promise<AttestationResult | null>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Bridge a CustodyAdapter to Kit's TransactionSigner interface.
|
|
42
|
+
*
|
|
43
|
+
* Returns a TransactionPartialSigner — custody adapters do pure signing
|
|
44
|
+
* (no transaction modification).
|
|
45
|
+
*
|
|
46
|
+
* Usage:
|
|
47
|
+
* ```ts
|
|
48
|
+
* const adapter: CustodyAdapter = new TurnkeyCustodyAdapter(config);
|
|
49
|
+
* const signer = custodyAdapterToTransactionSigner(adapter);
|
|
50
|
+
* // signer is now usable anywhere Kit expects a TransactionSigner
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function custodyAdapterToTransactionSigner(adapter: CustodyAdapter): TransactionSigner;
|
|
54
|
+
//# sourceMappingURL=custody-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custody-adapter.d.ts","sourceRoot":"","sources":["../src/custody-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,YAAY,IAAI,OAAO,CAAC;IAExB;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE7C;;;OAGG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;CACnD;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,cAAc,GACtB,iBAAiB,CA4BnB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CustodyAdapter — Kit-native interface for custody providers.
|
|
3
|
+
*
|
|
4
|
+
* Bridges third-party custody adapters (Turnkey, Fireblocks, Crossmint, etc.)
|
|
5
|
+
* to @solana/kit's TransactionSigner interface.
|
|
6
|
+
*
|
|
7
|
+
* This is the standardized 3-method contract that Phase 8 custody packages
|
|
8
|
+
* will implement. The bridge function converts any CustodyAdapter into a
|
|
9
|
+
* TransactionPartialSigner usable anywhere Kit expects a signer.
|
|
10
|
+
*/
|
|
11
|
+
// ─── Bridge ─────────────────────────────────────────────────────────────────
|
|
12
|
+
/**
|
|
13
|
+
* Bridge a CustodyAdapter to Kit's TransactionSigner interface.
|
|
14
|
+
*
|
|
15
|
+
* Returns a TransactionPartialSigner — custody adapters do pure signing
|
|
16
|
+
* (no transaction modification).
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* ```ts
|
|
20
|
+
* const adapter: CustodyAdapter = new TurnkeyCustodyAdapter(config);
|
|
21
|
+
* const signer = custodyAdapterToTransactionSigner(adapter);
|
|
22
|
+
* // signer is now usable anywhere Kit expects a TransactionSigner
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export function custodyAdapterToTransactionSigner(adapter) {
|
|
26
|
+
const address = adapter.getPublicKey();
|
|
27
|
+
return {
|
|
28
|
+
address,
|
|
29
|
+
async signTransactions(transactions) {
|
|
30
|
+
const results = [];
|
|
31
|
+
for (const tx of transactions) {
|
|
32
|
+
const sig = await adapter.sign(tx.messageBytes);
|
|
33
|
+
if (!(sig instanceof Uint8Array)) {
|
|
34
|
+
throw new Error(`Custody adapter signature must be Uint8Array, got ${typeof sig}`);
|
|
35
|
+
}
|
|
36
|
+
if (sig.length !== 64) {
|
|
37
|
+
throw new Error(`Custody adapter returned invalid signature: expected 64 bytes, got ${sig.length}`);
|
|
38
|
+
}
|
|
39
|
+
results.push({ [address]: sig });
|
|
40
|
+
}
|
|
41
|
+
return results;
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=custody-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custody-adapter.js","sourceRoot":"","sources":["../src/custody-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqCH,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iCAAiC,CAC/C,OAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAEvC,OAAO;QACL,OAAO;QACP,KAAK,CAAC,gBAAgB,CACpB,YAA0B;YAE1B,MAAM,OAAO,GAAiC,EAAE,CAAC;YAEjD,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,GAAG,EAAE,CAClE,CAAC;gBACJ,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CACb,sEAAsE,GAAG,CAAC,MAAM,EAAE,CACnF,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACmB,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event analytics — activity feed, event categorization, human-readable descriptions.
|
|
3
|
+
*
|
|
4
|
+
* Transforms raw Anchor event logs into dashboard-ready activity items.
|
|
5
|
+
* The Activity tab is the second most-used dashboard feature after Overview.
|
|
6
|
+
*/
|
|
7
|
+
import type { Address, Rpc, SolanaRpcApi } from "@solana/kit";
|
|
8
|
+
import type { DecodedSigilEvent, SigilEventName } from "./events.js";
|
|
9
|
+
import { type Network } from "./types.js";
|
|
10
|
+
export type EventCategory = "trade" | "deposit" | "withdrawal" | "policy" | "agent" | "escrow" | "security" | "fee";
|
|
11
|
+
export interface VaultActivityItem {
|
|
12
|
+
timestamp: number;
|
|
13
|
+
txSignature: string;
|
|
14
|
+
eventType: SigilEventName;
|
|
15
|
+
category: EventCategory;
|
|
16
|
+
agent: Address | null;
|
|
17
|
+
amount: bigint | null;
|
|
18
|
+
amountDisplay: string | null;
|
|
19
|
+
tokenMint: Address | null;
|
|
20
|
+
tokenSymbol: string | null;
|
|
21
|
+
actionType: string | null;
|
|
22
|
+
protocol: Address | null;
|
|
23
|
+
protocolName: string | null;
|
|
24
|
+
success: boolean;
|
|
25
|
+
description: string;
|
|
26
|
+
}
|
|
27
|
+
/** Categorize a decoded event into a high-level group. Defaults to "trade". */
|
|
28
|
+
export declare function categorizeEvent(eventName: string): EventCategory;
|
|
29
|
+
/**
|
|
30
|
+
* Generate a human-readable description for a decoded event.
|
|
31
|
+
* Uses fintech language — no raw error codes or program IDs.
|
|
32
|
+
*/
|
|
33
|
+
export declare function describeEvent(decoded: DecodedSigilEvent, network?: Network): string;
|
|
34
|
+
/**
|
|
35
|
+
* Build a VaultActivityItem from a decoded event + transaction metadata.
|
|
36
|
+
* Main entry point for the activity feed.
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildActivityItem(decoded: DecodedSigilEvent, txSignature: string, blockTime: number, network?: Network): VaultActivityItem;
|
|
39
|
+
/**
|
|
40
|
+
* Fetch and build a complete activity feed for a vault.
|
|
41
|
+
* Uses getSignaturesForAddress + getTransaction (standard RPC).
|
|
42
|
+
* For better performance, use Helius Enhanced Transactions API in the dashboard.
|
|
43
|
+
*/
|
|
44
|
+
export declare function getVaultActivity(rpc: Rpc<SolanaRpcApi>, vault: Address, limit?: number, network?: Network): Promise<VaultActivityItem[]>;
|
|
45
|
+
//# sourceMappingURL=event-analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-analytics.d.ts","sourceRoot":"","sources":["../src/event-analytics.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIrE,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAK3D,MAAM,MAAM,aAAa,GACrB,OAAO,GACP,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,KAAK,CAAC;AAEV,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAsCD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAEhE;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,OAAwB,GAChC,MAAM,CAkHR;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,OAAwB,GAChC,iBAAiB,CA6CnB;AAID;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,KAAK,SAAK,EACV,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAsC9B"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event analytics — activity feed, event categorization, human-readable descriptions.
|
|
3
|
+
*
|
|
4
|
+
* Transforms raw Anchor event logs into dashboard-ready activity items.
|
|
5
|
+
* The Activity tab is the second most-used dashboard feature after Overview.
|
|
6
|
+
*/
|
|
7
|
+
import { parseAndDecodeSigilEvents } from "./events.js";
|
|
8
|
+
import { formatUsd, formatAddress, formatTokenAmount } from "./formatting.js";
|
|
9
|
+
import { resolveToken } from "./tokens.js";
|
|
10
|
+
import { parseActionType } from "./types.js";
|
|
11
|
+
import { resolveProtocolName } from "./protocol-names.js";
|
|
12
|
+
// ─── Event Category Map ──────────────────────────────────────────────────────
|
|
13
|
+
const EVENT_CATEGORY_MAP = {
|
|
14
|
+
ActionAuthorized: "trade",
|
|
15
|
+
SessionFinalized: "trade",
|
|
16
|
+
DelegationRevoked: "trade",
|
|
17
|
+
AgentTransferExecuted: "trade",
|
|
18
|
+
AgentSpendLimitChecked: "trade",
|
|
19
|
+
PositionsSynced: "trade",
|
|
20
|
+
FundsDeposited: "deposit",
|
|
21
|
+
FundsWithdrawn: "withdrawal",
|
|
22
|
+
PolicyUpdated: "policy",
|
|
23
|
+
PolicyChangeQueued: "policy",
|
|
24
|
+
PolicyChangeApplied: "policy",
|
|
25
|
+
PolicyChangeCancelled: "policy",
|
|
26
|
+
InstructionConstraintsCreated: "policy",
|
|
27
|
+
InstructionConstraintsUpdated: "policy",
|
|
28
|
+
InstructionConstraintsClosed: "policy",
|
|
29
|
+
ConstraintsChangeQueued: "policy",
|
|
30
|
+
ConstraintsChangeApplied: "policy",
|
|
31
|
+
ConstraintsChangeCancelled: "policy",
|
|
32
|
+
AgentRegistered: "agent",
|
|
33
|
+
AgentRevoked: "agent",
|
|
34
|
+
AgentPermissionsUpdated: "agent",
|
|
35
|
+
AgentUnpausedEvent: "agent",
|
|
36
|
+
VaultCreated: "security",
|
|
37
|
+
VaultFrozen: "security",
|
|
38
|
+
VaultReactivated: "security",
|
|
39
|
+
VaultClosed: "security",
|
|
40
|
+
AgentPausedEvent: "security",
|
|
41
|
+
FeesCollected: "fee",
|
|
42
|
+
EscrowCreated: "escrow",
|
|
43
|
+
EscrowSettled: "escrow",
|
|
44
|
+
EscrowRefunded: "escrow",
|
|
45
|
+
};
|
|
46
|
+
/** Categorize a decoded event into a high-level group. Defaults to "trade". */
|
|
47
|
+
export function categorizeEvent(eventName) {
|
|
48
|
+
return EVENT_CATEGORY_MAP[eventName] ?? "trade";
|
|
49
|
+
}
|
|
50
|
+
// ─── Event Description ───────────────────────────────────────────────────────
|
|
51
|
+
/**
|
|
52
|
+
* Generate a human-readable description for a decoded event.
|
|
53
|
+
* Uses fintech language — no raw error codes or program IDs.
|
|
54
|
+
*/
|
|
55
|
+
export function describeEvent(decoded, network = "mainnet-beta") {
|
|
56
|
+
const f = decoded.fields;
|
|
57
|
+
if (!f)
|
|
58
|
+
return `${decoded.name} event (details unavailable)`;
|
|
59
|
+
switch (decoded.name) {
|
|
60
|
+
case "ActionAuthorized": {
|
|
61
|
+
const agent = formatAddress(f.agent);
|
|
62
|
+
const amount = f.usdAmount;
|
|
63
|
+
const actionObj = f.actionType;
|
|
64
|
+
const actionStr = actionObj?.__kind ?? "action";
|
|
65
|
+
return `Agent ${agent} authorized ${formatUsd(amount, 2)} ${actionStr} on ${resolveProtocolName(f.protocol)}`;
|
|
66
|
+
}
|
|
67
|
+
case "SessionFinalized": {
|
|
68
|
+
const agent = formatAddress(f.agent);
|
|
69
|
+
const success = f.success;
|
|
70
|
+
const isExpired = f.isExpired;
|
|
71
|
+
const spend = f.actualSpendUsd ?? 0n;
|
|
72
|
+
if (isExpired)
|
|
73
|
+
return `Session for agent ${agent} expired and was cleaned up`;
|
|
74
|
+
if (!success)
|
|
75
|
+
return `Agent ${agent} session finalized (action failed)`;
|
|
76
|
+
if (spend > 0n)
|
|
77
|
+
return `Agent ${agent} completed trade — ${formatUsd(spend, 2)} spent`;
|
|
78
|
+
return `Agent ${agent} completed action successfully`;
|
|
79
|
+
}
|
|
80
|
+
case "FundsDeposited": {
|
|
81
|
+
const amount = f.amount;
|
|
82
|
+
const mint = f.tokenMint;
|
|
83
|
+
const token = resolveTokenSafe(mint, network);
|
|
84
|
+
return `Owner deposited ${formatTokenDisplay(amount, token)}`;
|
|
85
|
+
}
|
|
86
|
+
case "FundsWithdrawn": {
|
|
87
|
+
const amount = f.amount;
|
|
88
|
+
const mint = f.tokenMint;
|
|
89
|
+
const token = resolveTokenSafe(mint, network);
|
|
90
|
+
return `Owner withdrew ${formatTokenDisplay(amount, token)}`;
|
|
91
|
+
}
|
|
92
|
+
case "AgentRegistered":
|
|
93
|
+
return `New agent ${formatAddress(f.agent)} registered with vault access`;
|
|
94
|
+
case "AgentRevoked":
|
|
95
|
+
return `Agent ${formatAddress(f.agent)} removed from vault (${f.remainingAgents} remaining)`;
|
|
96
|
+
case "AgentPermissionsUpdated": {
|
|
97
|
+
const permCount = countBits(f.newPermissions);
|
|
98
|
+
return `Agent ${formatAddress(f.agent)} permissions updated (${permCount} of 21 actions enabled)`;
|
|
99
|
+
}
|
|
100
|
+
case "VaultFrozen":
|
|
101
|
+
return "Vault paused — all agent activity stopped";
|
|
102
|
+
case "VaultReactivated":
|
|
103
|
+
return "Vault reactivated — agent activity resumed";
|
|
104
|
+
case "VaultClosed":
|
|
105
|
+
return "Vault permanently closed";
|
|
106
|
+
case "VaultCreated":
|
|
107
|
+
return "Vault created and ready for configuration";
|
|
108
|
+
case "AgentPausedEvent":
|
|
109
|
+
return `Agent ${formatAddress(f.agent)} paused — cannot execute actions`;
|
|
110
|
+
case "AgentUnpausedEvent":
|
|
111
|
+
return `Agent ${formatAddress(f.agent)} resumed — can execute actions`;
|
|
112
|
+
case "FeesCollected": {
|
|
113
|
+
const protocolFee = f.protocolFeeAmount;
|
|
114
|
+
const devFee = f.developerFeeAmount;
|
|
115
|
+
return `Fees collected: ${formatUsd(protocolFee + devFee, 2)} (${formatUsd(protocolFee, 2)} protocol + ${formatUsd(devFee, 2)} developer)`;
|
|
116
|
+
}
|
|
117
|
+
case "PolicyUpdated":
|
|
118
|
+
return "Vault policy updated — new spending rules active";
|
|
119
|
+
case "PolicyChangeQueued":
|
|
120
|
+
return "Policy change queued — waiting for timelock to expire";
|
|
121
|
+
case "PolicyChangeApplied":
|
|
122
|
+
return "Queued policy change applied";
|
|
123
|
+
case "PolicyChangeCancelled":
|
|
124
|
+
return "Queued policy change cancelled";
|
|
125
|
+
case "EscrowCreated":
|
|
126
|
+
return `Escrow created: ${formatUsd(f.amount, 2)} held for vault ${formatAddress(f.destinationVault)}`;
|
|
127
|
+
case "EscrowSettled":
|
|
128
|
+
return `Escrow settled — ${formatUsd(f.amount, 2)} released to destination`;
|
|
129
|
+
case "EscrowRefunded":
|
|
130
|
+
return `Escrow refunded — ${formatUsd(f.amount, 2)} returned to vault`;
|
|
131
|
+
case "AgentTransferExecuted":
|
|
132
|
+
return `Agent transferred ${formatUsd(f.amount, 2)} to ${formatAddress(f.destination)}`;
|
|
133
|
+
case "AgentSpendLimitChecked":
|
|
134
|
+
return `Agent ${formatAddress(f.agent)} spend check: ${formatUsd(f.agentRollingSpend, 2)} of ${formatUsd(f.spendingLimitUsd, 2)} daily limit used`;
|
|
135
|
+
case "DelegationRevoked":
|
|
136
|
+
return "Token delegation revoked after session completion";
|
|
137
|
+
case "PositionsSynced":
|
|
138
|
+
return `Position count synced: ${f.oldCount} → ${f.newCount}`;
|
|
139
|
+
case "InstructionConstraintsCreated":
|
|
140
|
+
return "Instruction constraints configured for this vault";
|
|
141
|
+
case "InstructionConstraintsUpdated":
|
|
142
|
+
return "Instruction constraints updated";
|
|
143
|
+
case "InstructionConstraintsClosed":
|
|
144
|
+
return "Instruction constraints removed";
|
|
145
|
+
case "ConstraintsChangeQueued":
|
|
146
|
+
return "Constraint change queued — waiting for timelock";
|
|
147
|
+
case "ConstraintsChangeApplied":
|
|
148
|
+
return "Queued constraint change applied";
|
|
149
|
+
case "ConstraintsChangeCancelled":
|
|
150
|
+
return "Queued constraint change cancelled";
|
|
151
|
+
default:
|
|
152
|
+
return `${decoded.name} event`;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// ─── Activity Item Builder ───────────────────────────────────────────────────
|
|
156
|
+
/**
|
|
157
|
+
* Build a VaultActivityItem from a decoded event + transaction metadata.
|
|
158
|
+
* Main entry point for the activity feed.
|
|
159
|
+
*/
|
|
160
|
+
export function buildActivityItem(decoded, txSignature, blockTime, network = "mainnet-beta") {
|
|
161
|
+
const f = decoded.fields;
|
|
162
|
+
const category = categorizeEvent(decoded.name);
|
|
163
|
+
const agent = extractAddress(f, "agent");
|
|
164
|
+
const amount = extractBigInt(f, "amount") ?? extractBigInt(f, "usdAmount");
|
|
165
|
+
const tokenMint = extractAddress(f, "tokenMint") ?? extractAddress(f, "mint");
|
|
166
|
+
const protocol = extractAddress(f, "protocol");
|
|
167
|
+
const success = f?.success !== false;
|
|
168
|
+
const token = tokenMint ? resolveTokenSafe(tokenMint, network) : null;
|
|
169
|
+
const amountDisplay = amount !== null && token
|
|
170
|
+
? formatTokenDisplay(amount, token)
|
|
171
|
+
: amount !== null
|
|
172
|
+
? formatUsd(amount, 2)
|
|
173
|
+
: null;
|
|
174
|
+
// actionType has different shapes: Codama enum { __kind: "Swap" } vs u8 number
|
|
175
|
+
let actionType = null;
|
|
176
|
+
if (f?.actionType != null) {
|
|
177
|
+
const at = f.actionType;
|
|
178
|
+
if (typeof at === "object" && at !== null && "__kind" in at) {
|
|
179
|
+
actionType = at.__kind;
|
|
180
|
+
}
|
|
181
|
+
else if (typeof at === "number" || typeof at === "bigint") {
|
|
182
|
+
actionType = parseActionType(Number(at))?.toString() ?? null;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
timestamp: blockTime,
|
|
187
|
+
txSignature,
|
|
188
|
+
eventType: decoded.name,
|
|
189
|
+
category,
|
|
190
|
+
agent,
|
|
191
|
+
amount,
|
|
192
|
+
amountDisplay,
|
|
193
|
+
tokenMint,
|
|
194
|
+
tokenSymbol: token?.symbol ?? null,
|
|
195
|
+
actionType,
|
|
196
|
+
protocol,
|
|
197
|
+
protocolName: protocol ? resolveProtocolName(protocol) : null,
|
|
198
|
+
success,
|
|
199
|
+
description: describeEvent(decoded, network),
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
// ─── Activity Feed Fetcher ───────────────────────────────────────────────────
|
|
203
|
+
/**
|
|
204
|
+
* Fetch and build a complete activity feed for a vault.
|
|
205
|
+
* Uses getSignaturesForAddress + getTransaction (standard RPC).
|
|
206
|
+
* For better performance, use Helius Enhanced Transactions API in the dashboard.
|
|
207
|
+
*/
|
|
208
|
+
export async function getVaultActivity(rpc, vault, limit = 20, network = "mainnet-beta") {
|
|
209
|
+
const signatures = await rpc
|
|
210
|
+
.getSignaturesForAddress(vault, { limit })
|
|
211
|
+
.send();
|
|
212
|
+
if (signatures.length === 0)
|
|
213
|
+
return [];
|
|
214
|
+
const items = [];
|
|
215
|
+
for (const sigInfo of signatures) {
|
|
216
|
+
try {
|
|
217
|
+
const tx = await rpc
|
|
218
|
+
.getTransaction(sigInfo.signature, {
|
|
219
|
+
encoding: "json",
|
|
220
|
+
maxSupportedTransactionVersion: 0,
|
|
221
|
+
})
|
|
222
|
+
.send();
|
|
223
|
+
if (!tx?.meta?.logMessages)
|
|
224
|
+
continue;
|
|
225
|
+
const decoded = parseAndDecodeSigilEvents([...tx.meta.logMessages]);
|
|
226
|
+
for (const event of decoded) {
|
|
227
|
+
items.push(buildActivityItem(event, sigInfo.signature, Number(sigInfo.blockTime ?? 0), network));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
items.sort((a, b) => b.timestamp - a.timestamp);
|
|
235
|
+
return items;
|
|
236
|
+
}
|
|
237
|
+
// ─── Internal Helpers ────────────────────────────────────────────────────────
|
|
238
|
+
function extractAddress(fields, key) {
|
|
239
|
+
if (!fields || !(key in fields))
|
|
240
|
+
return null;
|
|
241
|
+
const val = fields[key];
|
|
242
|
+
if (typeof val === "string" && val.length > 0)
|
|
243
|
+
return val;
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
246
|
+
function extractBigInt(fields, key) {
|
|
247
|
+
if (!fields || !(key in fields))
|
|
248
|
+
return null;
|
|
249
|
+
const val = fields[key];
|
|
250
|
+
if (typeof val === "bigint")
|
|
251
|
+
return val;
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
function countBits(n) {
|
|
255
|
+
let count = 0;
|
|
256
|
+
let v = n;
|
|
257
|
+
while (v > 0n) {
|
|
258
|
+
count += Number(v & 1n);
|
|
259
|
+
v >>= 1n;
|
|
260
|
+
}
|
|
261
|
+
return count;
|
|
262
|
+
}
|
|
263
|
+
function resolveTokenSafe(mint, network) {
|
|
264
|
+
try {
|
|
265
|
+
return resolveToken(mint, network);
|
|
266
|
+
}
|
|
267
|
+
catch {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/** Format token amount for display — delegates to formatting.ts with 2-decimal truncation. */
|
|
272
|
+
function formatTokenDisplay(amount, token) {
|
|
273
|
+
if (!token)
|
|
274
|
+
return formatUsd(amount);
|
|
275
|
+
return formatTokenAmount(amount, token.decimals, token.symbol, 2);
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=event-analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-analytics.js","sourceRoot":"","sources":["../src/event-analytics.ts"],"names":[],"mappings":"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"}
|