@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 @@
|
|
|
1
|
+
{"version":3,"file":"simulation.js","sourceRoot":"","sources":["../src/simulation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spending analytics — velocity, breakdown, and per-agent time series.
|
|
3
|
+
*
|
|
4
|
+
* Builds on top of existing functions:
|
|
5
|
+
* - getSpendingHistory() in state-resolver.ts (144-epoch time series)
|
|
6
|
+
* - getRolling24hUsd() in state-resolver.ts (global 24h spend)
|
|
7
|
+
* - getAgentRolling24hUsd() in state-resolver.ts (per-agent 24h spend)
|
|
8
|
+
*
|
|
9
|
+
* This module adds:
|
|
10
|
+
* - getSpendingVelocity() — rate, acceleration, cap projection
|
|
11
|
+
* - getSpendingBreakdown() — by-agent + by-protocol + concentration indices
|
|
12
|
+
* - getAgentSpendingHistory() — per-agent hourly time series from overlay
|
|
13
|
+
*/
|
|
14
|
+
import type { Address } from "@solana/kit";
|
|
15
|
+
import type { SpendTracker, AgentSpendOverlay } from "./generated/index.js";
|
|
16
|
+
import type { ResolvedVaultState, EffectiveBudget, SpendingEpoch } from "./state-resolver.js";
|
|
17
|
+
export type { SpendingEpoch } from "./state-resolver.js";
|
|
18
|
+
export { getSpendingHistory } from "./state-resolver.js";
|
|
19
|
+
/** Velocity metrics derived from spending rate analysis. */
|
|
20
|
+
export interface SpendingVelocity {
|
|
21
|
+
/** Current spend rate in USD base units per hour (average of last 3 10-min epochs = 30 min) */
|
|
22
|
+
currentRate: bigint;
|
|
23
|
+
/** 24h average spend rate in USD base units per hour */
|
|
24
|
+
averageRate: bigint;
|
|
25
|
+
/** Highest single-epoch (10-min) spend in the 24h window */
|
|
26
|
+
peakRate: bigint;
|
|
27
|
+
/** Timestamp of the peak spend epoch */
|
|
28
|
+
peakTimestamp: number;
|
|
29
|
+
/** Whether spending is accelerating (currentRate > 1.5x averageRate) */
|
|
30
|
+
isAccelerating: boolean;
|
|
31
|
+
/** Seconds until the cap is projected to be hit at current rate. null if rate is 0. */
|
|
32
|
+
timeToCapSeconds: number | null;
|
|
33
|
+
/** Unix timestamp when cap would be hit. null if not approaching. */
|
|
34
|
+
projectedCapHitTime: number | null;
|
|
35
|
+
}
|
|
36
|
+
/** Complete spending breakdown by agent and protocol. */
|
|
37
|
+
export interface SpendingBreakdown {
|
|
38
|
+
global: {
|
|
39
|
+
spent24h: bigint;
|
|
40
|
+
cap: bigint;
|
|
41
|
+
utilization: number;
|
|
42
|
+
};
|
|
43
|
+
byAgent: Array<{
|
|
44
|
+
agent: Address;
|
|
45
|
+
spent24h: bigint;
|
|
46
|
+
cap: bigint;
|
|
47
|
+
utilization: number;
|
|
48
|
+
lifetimeSpend: bigint;
|
|
49
|
+
}>;
|
|
50
|
+
byProtocol: Array<{
|
|
51
|
+
protocol: Address;
|
|
52
|
+
protocolName: string;
|
|
53
|
+
spent24h: bigint;
|
|
54
|
+
cap: bigint;
|
|
55
|
+
utilization: number;
|
|
56
|
+
}>;
|
|
57
|
+
/** Herfindahl index (0-1). 1.0 = one agent does all spending. */
|
|
58
|
+
agentConcentration: number;
|
|
59
|
+
/** Herfindahl index (0-1). 1.0 = one protocol gets all spend. */
|
|
60
|
+
protocolConcentration: number;
|
|
61
|
+
topAgent: Address | null;
|
|
62
|
+
topProtocol: Address | null;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Compute spending velocity metrics from the SpendTracker.
|
|
66
|
+
*
|
|
67
|
+
* Velocity = rate of spending relative to cap. A vault at 60% cap with
|
|
68
|
+
* accelerating velocity is MORE dangerous than one at 80% that's decelerating.
|
|
69
|
+
*
|
|
70
|
+
* Algorithm:
|
|
71
|
+
* 1. currentRate = sum of last 3 non-zero epochs / 0.5 hours (extrapolated to hourly)
|
|
72
|
+
* 2. averageRate = total24h spend / 24 hours
|
|
73
|
+
* 3. acceleration = currentRate / averageRate > 1.5x
|
|
74
|
+
* 4. timeToCapSeconds = remaining cap / currentRate
|
|
75
|
+
*/
|
|
76
|
+
export declare function getSpendingVelocity(tracker: SpendTracker | null, nowUnix: bigint, globalBudget: EffectiveBudget): SpendingVelocity;
|
|
77
|
+
/**
|
|
78
|
+
* Complete spending breakdown by agent and protocol with concentration indices.
|
|
79
|
+
*
|
|
80
|
+
* The dashboard Spending tab needs global, per-agent, per-protocol spend, and
|
|
81
|
+
* concentration metrics all at once. This does it in one pass.
|
|
82
|
+
*/
|
|
83
|
+
export declare function getSpendingBreakdown(state: ResolvedVaultState): SpendingBreakdown;
|
|
84
|
+
/**
|
|
85
|
+
* Per-agent spending time series from AgentSpendOverlay (24 hourly epochs).
|
|
86
|
+
*
|
|
87
|
+
* Same algorithm as getSpendingHistory but for the overlay's 24-bucket hourly
|
|
88
|
+
* scheme instead of the tracker's 144-bucket 10-minute scheme.
|
|
89
|
+
*/
|
|
90
|
+
export declare function getAgentSpendingHistory(overlay: AgentSpendOverlay | null, agentSlot: number, nowUnix: bigint): SpendingEpoch[];
|
|
91
|
+
//# sourceMappingURL=spending-analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spending-analytics.d.ts","sourceRoot":"","sources":["../src/spending-analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAc9F,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIzD,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,cAAc,EAAE,OAAO,CAAC;IACxB,uFAAuF;IACvF,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qEAAqE;IACrE,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;IACH,UAAU,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,iEAAiE;IACjE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,eAAe,GAC5B,gBAAgB,CA4ElB;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,CAmFjF;AAID;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,GAAG,IAAI,EACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,aAAa,EAAE,CAiCjB"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Spending analytics — velocity, breakdown, and per-agent time series.
|
|
3
|
+
*
|
|
4
|
+
* Builds on top of existing functions:
|
|
5
|
+
* - getSpendingHistory() in state-resolver.ts (144-epoch time series)
|
|
6
|
+
* - getRolling24hUsd() in state-resolver.ts (global 24h spend)
|
|
7
|
+
* - getAgentRolling24hUsd() in state-resolver.ts (per-agent 24h spend)
|
|
8
|
+
*
|
|
9
|
+
* This module adds:
|
|
10
|
+
* - getSpendingVelocity() — rate, acceleration, cap projection
|
|
11
|
+
* - getSpendingBreakdown() — by-agent + by-protocol + concentration indices
|
|
12
|
+
* - getAgentSpendingHistory() — per-agent hourly time series from overlay
|
|
13
|
+
*/
|
|
14
|
+
import { bytesToAddress } from "./state-resolver.js";
|
|
15
|
+
import { formatUsd } from "./formatting.js";
|
|
16
|
+
import { resolveProtocolName } from "./protocol-names.js";
|
|
17
|
+
import { computeHerfindahl } from "./math-utils.js";
|
|
18
|
+
import { EPOCH_DURATION, NUM_EPOCHS, OVERLAY_EPOCH_DURATION, OVERLAY_NUM_EPOCHS, MAX_AGENTS_PER_VAULT, } from "./types.js";
|
|
19
|
+
export { getSpendingHistory } from "./state-resolver.js";
|
|
20
|
+
// ─── Spending Velocity ───────────────────────────────────────────────────────
|
|
21
|
+
/**
|
|
22
|
+
* Compute spending velocity metrics from the SpendTracker.
|
|
23
|
+
*
|
|
24
|
+
* Velocity = rate of spending relative to cap. A vault at 60% cap with
|
|
25
|
+
* accelerating velocity is MORE dangerous than one at 80% that's decelerating.
|
|
26
|
+
*
|
|
27
|
+
* Algorithm:
|
|
28
|
+
* 1. currentRate = sum of last 3 non-zero epochs / 0.5 hours (extrapolated to hourly)
|
|
29
|
+
* 2. averageRate = total24h spend / 24 hours
|
|
30
|
+
* 3. acceleration = currentRate / averageRate > 1.5x
|
|
31
|
+
* 4. timeToCapSeconds = remaining cap / currentRate
|
|
32
|
+
*/
|
|
33
|
+
export function getSpendingVelocity(tracker, nowUnix, globalBudget) {
|
|
34
|
+
const zero = {
|
|
35
|
+
currentRate: 0n,
|
|
36
|
+
averageRate: 0n,
|
|
37
|
+
peakRate: 0n,
|
|
38
|
+
peakTimestamp: 0,
|
|
39
|
+
isAccelerating: false,
|
|
40
|
+
timeToCapSeconds: null,
|
|
41
|
+
projectedCapHitTime: null,
|
|
42
|
+
};
|
|
43
|
+
if (!tracker || nowUnix <= 0n)
|
|
44
|
+
return zero;
|
|
45
|
+
const epochDuration = BigInt(EPOCH_DURATION);
|
|
46
|
+
const currentEpoch = nowUnix / epochDuration;
|
|
47
|
+
const windowStartEpoch = currentEpoch - BigInt(NUM_EPOCHS);
|
|
48
|
+
// Collect all valid (in-window, non-zero) epochs sorted by epochId descending
|
|
49
|
+
const validBuckets = [];
|
|
50
|
+
let peakAmount = 0n;
|
|
51
|
+
let peakEpochId = 0n;
|
|
52
|
+
for (const bucket of tracker.buckets) {
|
|
53
|
+
if (bucket.epochId < windowStartEpoch || bucket.epochId > currentEpoch)
|
|
54
|
+
continue;
|
|
55
|
+
if (bucket.usdAmount === 0n)
|
|
56
|
+
continue;
|
|
57
|
+
validBuckets.push({ epochId: bucket.epochId, usdAmount: bucket.usdAmount });
|
|
58
|
+
if (bucket.usdAmount > peakAmount) {
|
|
59
|
+
peakAmount = bucket.usdAmount;
|
|
60
|
+
peakEpochId = bucket.epochId;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Sort descending by epoch (most recent first)
|
|
64
|
+
validBuckets.sort((a, b) => Number(b.epochId - a.epochId));
|
|
65
|
+
// currentRate: sum of last 3 non-zero epochs, extrapolated to per-hour rate.
|
|
66
|
+
// Each epoch = 10 minutes. N epochs = N*10 minutes.
|
|
67
|
+
// Hourly rate = recentSum * 60 / (N * 10) = recentSum * 6 / N
|
|
68
|
+
const recentEpochs = validBuckets.slice(0, 3);
|
|
69
|
+
const recentSum = recentEpochs.reduce((sum, b) => sum + b.usdAmount, 0n);
|
|
70
|
+
const currentRate = recentEpochs.length > 0
|
|
71
|
+
? (recentSum * 6n) / BigInt(recentEpochs.length)
|
|
72
|
+
: 0n;
|
|
73
|
+
// averageRate: total 24h spend / 24 hours
|
|
74
|
+
const averageRate = globalBudget.spent24h / 24n;
|
|
75
|
+
// Acceleration: currentRate > 1.5x averageRate (integer: currentRate > averageRate * 3 / 2)
|
|
76
|
+
const isAccelerating = averageRate > 0n
|
|
77
|
+
? currentRate > (averageRate * 3n) / 2n
|
|
78
|
+
: currentRate > 0n;
|
|
79
|
+
// Time to cap projection
|
|
80
|
+
let timeToCapSeconds = null;
|
|
81
|
+
let projectedCapHitTime = null;
|
|
82
|
+
if (currentRate > 0n && globalBudget.remaining > 0n) {
|
|
83
|
+
// remaining / rate = hours, convert to seconds
|
|
84
|
+
const hoursToCapx1000 = (globalBudget.remaining * 1000n) / currentRate;
|
|
85
|
+
timeToCapSeconds = (Number(hoursToCapx1000) * 3600) / 1000;
|
|
86
|
+
projectedCapHitTime = Number(nowUnix) + timeToCapSeconds;
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
currentRate,
|
|
90
|
+
averageRate,
|
|
91
|
+
peakRate: peakAmount,
|
|
92
|
+
peakTimestamp: Number(peakEpochId * epochDuration),
|
|
93
|
+
isAccelerating,
|
|
94
|
+
timeToCapSeconds,
|
|
95
|
+
projectedCapHitTime,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
// ─── Spending Breakdown ──────────────────────────────────────────────────────
|
|
99
|
+
/**
|
|
100
|
+
* Complete spending breakdown by agent and protocol with concentration indices.
|
|
101
|
+
*
|
|
102
|
+
* The dashboard Spending tab needs global, per-agent, per-protocol spend, and
|
|
103
|
+
* concentration metrics all at once. This does it in one pass.
|
|
104
|
+
*/
|
|
105
|
+
export function getSpendingBreakdown(state) {
|
|
106
|
+
const { globalBudget, allAgentBudgets, protocolBudgets, overlay, vault } = state;
|
|
107
|
+
// Global utilization
|
|
108
|
+
const globalUtil = globalBudget.cap > 0n
|
|
109
|
+
? Number((globalBudget.spent24h * 10000n) / globalBudget.cap) / 100
|
|
110
|
+
: 0;
|
|
111
|
+
// By agent
|
|
112
|
+
const byAgent = [];
|
|
113
|
+
let topAgentAddr = null;
|
|
114
|
+
let topAgentSpend = 0n;
|
|
115
|
+
for (const [agent, budget] of allAgentBudgets) {
|
|
116
|
+
const util = budget.cap > 0n
|
|
117
|
+
? Number((budget.spent24h * 10000n) / budget.cap) / 100
|
|
118
|
+
: 0;
|
|
119
|
+
// Find lifetime spend from overlay
|
|
120
|
+
let lifetimeSpend = 0n;
|
|
121
|
+
if (overlay) {
|
|
122
|
+
const slotIdx = overlay.entries.findIndex((e) => {
|
|
123
|
+
try {
|
|
124
|
+
return bytesToAddress(e.agent) === agent;
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
if (slotIdx >= 0 && slotIdx < overlay.lifetimeSpend.length) {
|
|
131
|
+
lifetimeSpend = overlay.lifetimeSpend[slotIdx];
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
byAgent.push({
|
|
135
|
+
agent,
|
|
136
|
+
spent24h: budget.spent24h,
|
|
137
|
+
cap: budget.cap,
|
|
138
|
+
utilization: util,
|
|
139
|
+
lifetimeSpend,
|
|
140
|
+
});
|
|
141
|
+
if (budget.spent24h > topAgentSpend) {
|
|
142
|
+
topAgentSpend = budget.spent24h;
|
|
143
|
+
topAgentAddr = agent;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// By protocol
|
|
147
|
+
const byProtocol = [];
|
|
148
|
+
let topProtocolAddr = null;
|
|
149
|
+
let topProtocolSpend = 0n;
|
|
150
|
+
for (const pb of protocolBudgets) {
|
|
151
|
+
const util = pb.cap > 0n
|
|
152
|
+
? Number((pb.spent24h * 10000n) / pb.cap) / 100
|
|
153
|
+
: 0;
|
|
154
|
+
byProtocol.push({
|
|
155
|
+
protocol: pb.protocol,
|
|
156
|
+
protocolName: resolveProtocolName(pb.protocol),
|
|
157
|
+
spent24h: pb.spent24h,
|
|
158
|
+
cap: pb.cap,
|
|
159
|
+
utilization: util,
|
|
160
|
+
});
|
|
161
|
+
if (pb.spent24h > topProtocolSpend) {
|
|
162
|
+
topProtocolSpend = pb.spent24h;
|
|
163
|
+
topProtocolAddr = pb.protocol;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return {
|
|
167
|
+
global: { spent24h: globalBudget.spent24h, cap: globalBudget.cap, utilization: globalUtil },
|
|
168
|
+
byAgent,
|
|
169
|
+
byProtocol,
|
|
170
|
+
agentConcentration: computeHerfindahl(byAgent.map((a) => a.spent24h)),
|
|
171
|
+
protocolConcentration: computeHerfindahl(byProtocol.map((p) => p.spent24h)),
|
|
172
|
+
topAgent: topAgentAddr,
|
|
173
|
+
topProtocol: topProtocolAddr,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
// ─── Per-Agent Spending History ──────────────────────────────────────────────
|
|
177
|
+
/**
|
|
178
|
+
* Per-agent spending time series from AgentSpendOverlay (24 hourly epochs).
|
|
179
|
+
*
|
|
180
|
+
* Same algorithm as getSpendingHistory but for the overlay's 24-bucket hourly
|
|
181
|
+
* scheme instead of the tracker's 144-bucket 10-minute scheme.
|
|
182
|
+
*/
|
|
183
|
+
export function getAgentSpendingHistory(overlay, agentSlot, nowUnix) {
|
|
184
|
+
if (!overlay || agentSlot < 0 || agentSlot >= MAX_AGENTS_PER_VAULT || nowUnix <= 0n) {
|
|
185
|
+
return [];
|
|
186
|
+
}
|
|
187
|
+
const entry = overlay.entries[agentSlot];
|
|
188
|
+
if (!entry || entry.lastWriteEpoch === 0n)
|
|
189
|
+
return [];
|
|
190
|
+
const epochDuration = BigInt(OVERLAY_EPOCH_DURATION);
|
|
191
|
+
const currentEpoch = nowUnix / epochDuration;
|
|
192
|
+
const windowStartEpoch = currentEpoch - BigInt(OVERLAY_NUM_EPOCHS);
|
|
193
|
+
const results = [];
|
|
194
|
+
for (let k = 0; k < OVERLAY_NUM_EPOCHS; k++) {
|
|
195
|
+
const epochForK = entry.lastWriteEpoch - BigInt(k);
|
|
196
|
+
if (epochForK < 0n || epochForK <= windowStartEpoch)
|
|
197
|
+
break;
|
|
198
|
+
if (epochForK > currentEpoch)
|
|
199
|
+
continue;
|
|
200
|
+
const bucketIdx = Number(epochForK % BigInt(OVERLAY_NUM_EPOCHS));
|
|
201
|
+
const contribution = entry.contributions[bucketIdx];
|
|
202
|
+
if (contribution === 0n)
|
|
203
|
+
continue;
|
|
204
|
+
results.push({
|
|
205
|
+
epochId: Number(epochForK),
|
|
206
|
+
timestamp: Number(epochForK * epochDuration),
|
|
207
|
+
usdAmount: contribution,
|
|
208
|
+
usdAmountFormatted: formatUsd(contribution),
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
results.sort((a, b) => a.timestamp - b.timestamp);
|
|
212
|
+
return results;
|
|
213
|
+
}
|
|
214
|
+
// ─── Internal Helpers ────────────────────────────────────────────────────────
|
|
215
|
+
// computeHerfindahl imported from math-utils.ts (shared with agent-analytics)
|
|
216
|
+
// resolveProtocolName imported from protocol-names.ts (shared with event-analytics)
|
|
217
|
+
//# sourceMappingURL=spending-analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spending-analytics.js","sourceRoot":"","sources":["../src/spending-analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StateResolver — L0 foundation for resolving vault state with pre-computed budgets.
|
|
3
|
+
*
|
|
4
|
+
* One batched RPC call resolves all vault accounts (AgentVault, PolicyConfig,
|
|
5
|
+
* SpendTracker, AgentSpendOverlay, InstructionConstraints) and computes
|
|
6
|
+
* boundary-corrected rolling 24h budgets that exactly mirror the on-chain math.
|
|
7
|
+
*
|
|
8
|
+
* Pure functions (getRolling24hUsd, getAgentRolling24hUsd, getProtocolSpend)
|
|
9
|
+
* are exported independently for unit testing and reuse.
|
|
10
|
+
*/
|
|
11
|
+
import { type Address, type ReadonlyUint8Array, type Rpc, type SolanaRpcApi } from "@solana/kit";
|
|
12
|
+
import { type AgentSpendOverlay } from "./generated/accounts/agentSpendOverlay.js";
|
|
13
|
+
import { type AgentVault } from "./generated/accounts/agentVault.js";
|
|
14
|
+
import { type InstructionConstraints } from "./generated/accounts/instructionConstraints.js";
|
|
15
|
+
import { type PolicyConfig } from "./generated/accounts/policyConfig.js";
|
|
16
|
+
import { type SpendTracker } from "./generated/accounts/spendTracker.js";
|
|
17
|
+
import { type EscrowDeposit } from "./generated/accounts/escrowDeposit.js";
|
|
18
|
+
import { type SessionAuthority } from "./generated/accounts/sessionAuthority.js";
|
|
19
|
+
import { type PendingPolicyUpdate } from "./generated/accounts/pendingPolicyUpdate.js";
|
|
20
|
+
import { type PendingConstraintsUpdate } from "./generated/accounts/pendingConstraintsUpdate.js";
|
|
21
|
+
import type { AgentContributionEntry } from "./generated/types/agentContributionEntry.js";
|
|
22
|
+
import { type Network } from "./types.js";
|
|
23
|
+
/** Budget state for a single spending dimension. All values in USD (6 decimals). */
|
|
24
|
+
export interface EffectiveBudget {
|
|
25
|
+
spent24h: bigint;
|
|
26
|
+
cap: bigint;
|
|
27
|
+
remaining: bigint;
|
|
28
|
+
}
|
|
29
|
+
export interface ProtocolBudget extends EffectiveBudget {
|
|
30
|
+
protocol: Address;
|
|
31
|
+
}
|
|
32
|
+
/** A single epoch data point for spending time-series charts. */
|
|
33
|
+
export interface SpendingEpoch {
|
|
34
|
+
/** Epoch identifier (unix_timestamp / 600). */
|
|
35
|
+
epochId: number;
|
|
36
|
+
/** Unix seconds at start of epoch (epochId * 600). */
|
|
37
|
+
timestamp: number;
|
|
38
|
+
/** Raw 6-decimal stablecoin base units. */
|
|
39
|
+
usdAmount: bigint;
|
|
40
|
+
/** Pre-formatted display string via formatUsd(), e.g. "$123.45". */
|
|
41
|
+
usdAmountFormatted: string;
|
|
42
|
+
}
|
|
43
|
+
/** Complete resolved vault state from a single batched RPC call. */
|
|
44
|
+
export interface ResolvedVaultState {
|
|
45
|
+
vault: AgentVault;
|
|
46
|
+
policy: PolicyConfig;
|
|
47
|
+
tracker: SpendTracker | null;
|
|
48
|
+
overlay: AgentSpendOverlay | null;
|
|
49
|
+
constraints: InstructionConstraints | null;
|
|
50
|
+
globalBudget: EffectiveBudget;
|
|
51
|
+
agentBudget: EffectiveBudget | null;
|
|
52
|
+
/** Per-agent budgets for all agents in the vault (indexed by agent address). */
|
|
53
|
+
allAgentBudgets: Map<Address, EffectiveBudget>;
|
|
54
|
+
protocolBudgets: ProtocolBudget[];
|
|
55
|
+
maxTransactionUsd: bigint;
|
|
56
|
+
/** Vault stablecoin ATA balances (USDC + USDT). 0n if ATA doesn't exist. */
|
|
57
|
+
stablecoinBalances: {
|
|
58
|
+
usdc: bigint;
|
|
59
|
+
usdt: bigint;
|
|
60
|
+
};
|
|
61
|
+
resolvedAtTimestamp: bigint;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Convert a 32-byte ReadonlyUint8Array to a Kit Address.
|
|
65
|
+
* Uses the same Codama address codec as resolve-accounts.ts.
|
|
66
|
+
*/
|
|
67
|
+
export declare function bytesToAddress(bytes: ReadonlyUint8Array): Address;
|
|
68
|
+
/**
|
|
69
|
+
* Mirror of SpendTracker::get_rolling_24h_usd() from tracker.rs:103-151.
|
|
70
|
+
*
|
|
71
|
+
* Iterates all 144 buckets, summing those within the 24h window.
|
|
72
|
+
* Boundary bucket is proportionally scaled. BigInt division truncates
|
|
73
|
+
* like Rust integer division.
|
|
74
|
+
*/
|
|
75
|
+
export declare function getRolling24hUsd(tracker: SpendTracker, nowUnix: bigint): bigint;
|
|
76
|
+
/**
|
|
77
|
+
* Mirror of AgentSpendOverlay::get_agent_rolling_24h_usd() from
|
|
78
|
+
* agent_spend_overlay.rs:136-199.
|
|
79
|
+
*
|
|
80
|
+
* Iterates backward from lastWriteEpoch, summing contributions within
|
|
81
|
+
* the 24h window. Uses proportional scaling for boundary buckets.
|
|
82
|
+
*/
|
|
83
|
+
export declare function getAgentRolling24hUsd(entry: AgentContributionEntry, nowUnix: bigint): bigint;
|
|
84
|
+
/**
|
|
85
|
+
* Mirror of SpendTracker::get_protocol_spend() from tracker.rs:155-172.
|
|
86
|
+
*
|
|
87
|
+
* Simple 24h window check (NOT rolling boundary-corrected).
|
|
88
|
+
* Returns the windowSpend if the counter exists and hasn't expired.
|
|
89
|
+
*/
|
|
90
|
+
export declare function getProtocolSpend(tracker: SpendTracker, protocolAddress: Address, nowUnix: bigint): bigint;
|
|
91
|
+
/**
|
|
92
|
+
* Convert SpendTracker epoch buckets into a chronologically sorted time-series
|
|
93
|
+
* for dashboard charts (Recharts area charts, tooltips).
|
|
94
|
+
*
|
|
95
|
+
* Mirrors getRolling24hUsd() iteration but outputs individual data points
|
|
96
|
+
* instead of a sum. Zero-amount epochs are skipped (sparse-friendly).
|
|
97
|
+
* No proportional boundary scaling — raw epoch amounts for chart display.
|
|
98
|
+
*
|
|
99
|
+
* @param tracker - SpendTracker account data (null for vaults with no tracker PDA)
|
|
100
|
+
* @param nowUnix - Current unix timestamp in seconds
|
|
101
|
+
* @returns Chronologically sorted SpendingEpoch[] (ascending by timestamp)
|
|
102
|
+
*/
|
|
103
|
+
export declare function getSpendingHistory(tracker: SpendTracker | null, nowUnix: bigint): SpendingEpoch[];
|
|
104
|
+
/**
|
|
105
|
+
* Resolve complete vault state from a single batched RPC call.
|
|
106
|
+
*
|
|
107
|
+
* Derives 4 PDAs + 2 stablecoin ATAs, fetches all 7 accounts in one
|
|
108
|
+
* getMultipleAccounts, decodes, and pre-computes global/agent/protocol
|
|
109
|
+
* budgets with boundary-corrected rolling 24h math.
|
|
110
|
+
*
|
|
111
|
+
* @param network - Optional network for stablecoin mint resolution (defaults to "mainnet-beta")
|
|
112
|
+
*/
|
|
113
|
+
export declare function resolveVaultState(rpc: Rpc<SolanaRpcApi>, vault: Address, agent: Address, nowUnix?: bigint, network?: Network): Promise<ResolvedVaultState>;
|
|
114
|
+
/** Owner-facing vault state — all agents' budgets, no single-agent focus. */
|
|
115
|
+
export type ResolvedVaultStateForOwner = Omit<ResolvedVaultState, "agentBudget">;
|
|
116
|
+
/**
|
|
117
|
+
* Resolve complete vault state for an owner — returns all agents' budgets
|
|
118
|
+
* without requiring a specific agent address.
|
|
119
|
+
*
|
|
120
|
+
* Delegates to resolveVaultState internally. Agents with spendingLimitUsd = 0
|
|
121
|
+
* are excluded from allAgentBudgets (matching on-chain behavior where
|
|
122
|
+
* zero-limit agents have no budget to track).
|
|
123
|
+
*
|
|
124
|
+
* @param rpc - Kit RPC client
|
|
125
|
+
* @param vault - Vault PDA address
|
|
126
|
+
* @param nowUnix - Optional timestamp override (defaults to Date.now())
|
|
127
|
+
* @param network - Optional network for stablecoin mint resolution
|
|
128
|
+
*/
|
|
129
|
+
export declare function resolveVaultStateForOwner(rpc: Rpc<SolanaRpcApi>, vault: Address, nowUnix?: bigint, network?: Network): Promise<ResolvedVaultStateForOwner>;
|
|
130
|
+
export interface ResolvedBudget {
|
|
131
|
+
globalBudget: EffectiveBudget;
|
|
132
|
+
agentBudget: EffectiveBudget | null;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Resolve only global + agent budgets with minimal RPC overhead.
|
|
136
|
+
*
|
|
137
|
+
* Fetches 4 accounts (vault, policy, tracker, overlay) instead of 7,
|
|
138
|
+
* skipping constraints and 2 stablecoin ATAs. Skips protocol budget
|
|
139
|
+
* computation and constraints decoding (8.3KB zero-copy).
|
|
140
|
+
* ~40% cheaper than resolveVaultState() for budget-only queries.
|
|
141
|
+
*/
|
|
142
|
+
export declare function resolveVaultBudget(rpc: Rpc<SolanaRpcApi>, vault: Address, agent: Address, nowUnix?: bigint): Promise<ResolvedBudget>;
|
|
143
|
+
/** A discovered vault with its address and ID. */
|
|
144
|
+
export interface DiscoveredVault {
|
|
145
|
+
vaultAddress: Address;
|
|
146
|
+
vaultId: bigint;
|
|
147
|
+
}
|
|
148
|
+
export declare function findVaultsByOwner(rpc: Rpc<SolanaRpcApi>, owner: Address, maxProbe?: number): Promise<DiscoveredVault[]>;
|
|
149
|
+
/**
|
|
150
|
+
* Find all escrow deposits where this vault is the source.
|
|
151
|
+
* Uses getProgramAccounts with memcmp on source_vault field (offset 8).
|
|
152
|
+
*/
|
|
153
|
+
export declare function findEscrowsByVault(rpc: Rpc<SolanaRpcApi>, sourceVault: Address): Promise<(EscrowDeposit & {
|
|
154
|
+
address: Address;
|
|
155
|
+
})[]>;
|
|
156
|
+
/**
|
|
157
|
+
* Find all active sessions for a vault.
|
|
158
|
+
* Uses getProgramAccounts with memcmp on vault field (offset 8).
|
|
159
|
+
*/
|
|
160
|
+
export declare function findSessionsByVault(rpc: Rpc<SolanaRpcApi>, vault: Address): Promise<(SessionAuthority & {
|
|
161
|
+
address: Address;
|
|
162
|
+
})[]>;
|
|
163
|
+
/**
|
|
164
|
+
* Fetch the pending policy update for a vault, if any.
|
|
165
|
+
* Returns null if no pending update exists.
|
|
166
|
+
*/
|
|
167
|
+
export declare function getPendingPolicyForVault(rpc: Rpc<SolanaRpcApi>, vault: Address): Promise<PendingPolicyUpdate | null>;
|
|
168
|
+
/**
|
|
169
|
+
* Fetch the pending constraints update for a vault, if any.
|
|
170
|
+
* Returns null if no pending update exists.
|
|
171
|
+
*/
|
|
172
|
+
export declare function getPendingConstraintsForVault(rpc: Rpc<SolanaRpcApi>, vault: Address): Promise<PendingConstraintsUpdate | null>;
|
|
173
|
+
//# sourceMappingURL=state-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-resolver.d.ts","sourceRoot":"","sources":["../src/state-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAKL,KAAK,OAAO,EAEZ,KAAK,kBAAkB,EACvB,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAY1F,OAAO,EAaL,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AAMpB,oFAAoF;AACpF,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAE3C,YAAY,EAAE,eAAe,CAAC;IAC9B,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,gFAAgF;IAChF,eAAe,EAAE,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC/C,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,4EAA4E;IAC5E,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEnD,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAkBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,GACd,MAAM,CAsCR;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,MAAM,GACd,MAAM,CA+CR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,YAAY,EACrB,eAAe,EAAE,OAAO,EACxB,OAAO,EAAE,MAAM,GACd,MAAM,CAkBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,OAAO,EAAE,MAAM,GACd,aAAa,EAAE,CA8BjB;AAID;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC,CAyK7B;AAID,6EAA6E;AAC7E,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;AAEjF;;;;;;;;;;;;GAYG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,0BAA0B,CAAC,CAYrC;AAID,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,eAAe,CAAC;IAC9B,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAuEzB;AAID,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAqED,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC,CA6E5B;AAOD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,CAAC,CA2BnD;AAOD;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,CAAC,gBAAgB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,CAAC,CA2BtD;AAID;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAIrC;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAI1C"}
|