@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
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor CPI event log parser for Sigil.
|
|
3
|
+
*
|
|
4
|
+
* Parses "Program data: " log lines from transaction logs to extract
|
|
5
|
+
* Anchor events. Uses the IDL-provided event discriminators (first 8 bytes
|
|
6
|
+
* of SHA256 of "event:<EventName>").
|
|
7
|
+
*
|
|
8
|
+
* The discriminator map is auto-generated by codama.mjs from the IDL.
|
|
9
|
+
* Run `pnpm run codama` after any Rust event changes.
|
|
10
|
+
*/
|
|
11
|
+
import { EVENT_DISCRIMINATOR_MAP } from "./generated/event-discriminators.js";
|
|
12
|
+
/** All known Sigil event names */
|
|
13
|
+
export type SigilEventName = (typeof EVENT_DISCRIMINATOR_MAP)[string];
|
|
14
|
+
/** Parsed event from transaction logs */
|
|
15
|
+
export interface SigilEvent {
|
|
16
|
+
/** Event name (e.g. "VaultCreated", "ActionAuthorized") */
|
|
17
|
+
name: SigilEventName;
|
|
18
|
+
/** Raw event data bytes (after discriminator) */
|
|
19
|
+
data: Uint8Array;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Parse Sigil Anchor events from transaction logs.
|
|
23
|
+
*
|
|
24
|
+
* Anchor emits events as "Program data: <base64>" log lines.
|
|
25
|
+
* The first 8 bytes are the event discriminator (SHA256 prefix).
|
|
26
|
+
*
|
|
27
|
+
* @param logs - Array of log strings from a transaction
|
|
28
|
+
* @returns Array of parsed events with name and raw data
|
|
29
|
+
*/
|
|
30
|
+
export declare function parseSigilEvents(logs: string[]): SigilEvent[];
|
|
31
|
+
/**
|
|
32
|
+
* Extract events of a specific type from transaction logs.
|
|
33
|
+
*/
|
|
34
|
+
export declare function filterEvents(logs: string[], eventName: SigilEventName): SigilEvent[];
|
|
35
|
+
/** Get all known event names */
|
|
36
|
+
export declare function getEventNames(): SigilEventName[];
|
|
37
|
+
/** Decoded event with typed fields */
|
|
38
|
+
export interface DecodedSigilEvent {
|
|
39
|
+
name: SigilEventName;
|
|
40
|
+
/** Raw bytes preserved for debugging */
|
|
41
|
+
data: Uint8Array;
|
|
42
|
+
/** Decoded fields, or null if decoding fails */
|
|
43
|
+
fields: Record<string, unknown> | null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Decode a parsed Sigil event's raw bytes into typed fields.
|
|
47
|
+
*
|
|
48
|
+
* Returns `fields: null` if the event name is unknown or decoding fails
|
|
49
|
+
* (e.g. events from older program versions with different layouts).
|
|
50
|
+
*/
|
|
51
|
+
export declare function decodeSigilEvent(event: SigilEvent): DecodedSigilEvent;
|
|
52
|
+
/**
|
|
53
|
+
* Parse and decode Sigil events from transaction logs in one step.
|
|
54
|
+
*/
|
|
55
|
+
export declare function parseAndDecodeSigilEvents(logs: string[]): DecodedSigilEvent[];
|
|
56
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAmC9E,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,yCAAyC;AACzC,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,IAAI,EAAE,cAAc,CAAC;IACrB,iDAAiD;IACjD,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAgC7D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,cAAc,GACxB,UAAU,EAAE,CAEd;AAED,gCAAgC;AAChC,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAEhD;AA8ED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,wCAAwC;IACxC,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,iBAAiB,CAWrE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAE7E"}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor CPI event log parser for Sigil.
|
|
3
|
+
*
|
|
4
|
+
* Parses "Program data: " log lines from transaction logs to extract
|
|
5
|
+
* Anchor events. Uses the IDL-provided event discriminators (first 8 bytes
|
|
6
|
+
* of SHA256 of "event:<EventName>").
|
|
7
|
+
*
|
|
8
|
+
* The discriminator map is auto-generated by codama.mjs from the IDL.
|
|
9
|
+
* Run `pnpm run codama` after any Rust event changes.
|
|
10
|
+
*/
|
|
11
|
+
import { EVENT_DISCRIMINATOR_MAP } from "./generated/event-discriminators.js";
|
|
12
|
+
import { getActionAuthorizedDecoder, getSessionFinalizedDecoder, getFeesCollectedDecoder, getFundsDepositedDecoder, getFundsWithdrawnDecoder, getAgentTransferExecutedDecoder, getVaultCreatedDecoder, getVaultFrozenDecoder, getVaultReactivatedDecoder, getVaultClosedDecoder, getAgentRegisteredDecoder, getAgentRevokedDecoder, getAgentPausedEventDecoder, getAgentUnpausedEventDecoder, getAgentPermissionsUpdatedDecoder, getAgentSpendLimitCheckedDecoder, getEscrowCreatedDecoder, getEscrowSettledDecoder, getEscrowRefundedDecoder, getPolicyUpdatedDecoder, getPolicyChangeQueuedDecoder, getPolicyChangeAppliedDecoder, getPolicyChangeCancelledDecoder, getConstraintsChangeQueuedDecoder, getConstraintsChangeAppliedDecoder, getConstraintsChangeCancelledDecoder, getInstructionConstraintsCreatedDecoder, getInstructionConstraintsUpdatedDecoder, getInstructionConstraintsClosedDecoder, getDelegationRevokedDecoder, getPositionsSyncedDecoder, } from "./generated/types/index.js";
|
|
13
|
+
/**
|
|
14
|
+
* Parse Sigil Anchor events from transaction logs.
|
|
15
|
+
*
|
|
16
|
+
* Anchor emits events as "Program data: <base64>" log lines.
|
|
17
|
+
* The first 8 bytes are the event discriminator (SHA256 prefix).
|
|
18
|
+
*
|
|
19
|
+
* @param logs - Array of log strings from a transaction
|
|
20
|
+
* @returns Array of parsed events with name and raw data
|
|
21
|
+
*/
|
|
22
|
+
export function parseSigilEvents(logs) {
|
|
23
|
+
const events = [];
|
|
24
|
+
const PROGRAM_DATA_PREFIX = "Program data: ";
|
|
25
|
+
for (const log of logs) {
|
|
26
|
+
if (!log.includes(PROGRAM_DATA_PREFIX))
|
|
27
|
+
continue;
|
|
28
|
+
const dataStart = log.indexOf(PROGRAM_DATA_PREFIX);
|
|
29
|
+
if (dataStart === -1)
|
|
30
|
+
continue;
|
|
31
|
+
const base64Data = log.slice(dataStart + PROGRAM_DATA_PREFIX.length);
|
|
32
|
+
try {
|
|
33
|
+
const bytes = base64ToBytes(base64Data);
|
|
34
|
+
if (bytes.length < 8)
|
|
35
|
+
continue;
|
|
36
|
+
// First 8 bytes = discriminator
|
|
37
|
+
const discHex = bytesToHex(bytes.slice(0, 8));
|
|
38
|
+
const eventName = EVENT_DISCRIMINATOR_MAP[discHex];
|
|
39
|
+
if (eventName) {
|
|
40
|
+
events.push({
|
|
41
|
+
name: eventName,
|
|
42
|
+
data: bytes.slice(8),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Skip unparseable log lines
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return events;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Extract events of a specific type from transaction logs.
|
|
54
|
+
*/
|
|
55
|
+
export function filterEvents(logs, eventName) {
|
|
56
|
+
return parseSigilEvents(logs).filter((e) => e.name === eventName);
|
|
57
|
+
}
|
|
58
|
+
/** Get all known event names */
|
|
59
|
+
export function getEventNames() {
|
|
60
|
+
return Object.values(EVENT_DISCRIMINATOR_MAP);
|
|
61
|
+
}
|
|
62
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
63
|
+
function base64ToBytes(base64) {
|
|
64
|
+
const binaryString = atob(base64);
|
|
65
|
+
const bytes = new Uint8Array(binaryString.length);
|
|
66
|
+
for (let i = 0; i < binaryString.length; i++) {
|
|
67
|
+
bytes[i] = binaryString.charCodeAt(i);
|
|
68
|
+
}
|
|
69
|
+
return bytes;
|
|
70
|
+
}
|
|
71
|
+
function bytesToHex(bytes) {
|
|
72
|
+
return Array.from(bytes)
|
|
73
|
+
.map((b) => b.toString(16).padStart(2, "0"))
|
|
74
|
+
.join("");
|
|
75
|
+
}
|
|
76
|
+
// ─── Event Decoder Map ──────────────────────────────────────────────────────
|
|
77
|
+
// Decoders cached at module level — avoids re-creating struct decoders on every call
|
|
78
|
+
const EVENT_DECODER_MAP = {
|
|
79
|
+
ActionAuthorized: getActionAuthorizedDecoder(),
|
|
80
|
+
SessionFinalized: getSessionFinalizedDecoder(),
|
|
81
|
+
FeesCollected: getFeesCollectedDecoder(),
|
|
82
|
+
FundsDeposited: getFundsDepositedDecoder(),
|
|
83
|
+
FundsWithdrawn: getFundsWithdrawnDecoder(),
|
|
84
|
+
AgentTransferExecuted: getAgentTransferExecutedDecoder(),
|
|
85
|
+
VaultCreated: getVaultCreatedDecoder(),
|
|
86
|
+
VaultFrozen: getVaultFrozenDecoder(),
|
|
87
|
+
VaultReactivated: getVaultReactivatedDecoder(),
|
|
88
|
+
VaultClosed: getVaultClosedDecoder(),
|
|
89
|
+
AgentRegistered: getAgentRegisteredDecoder(),
|
|
90
|
+
AgentRevoked: getAgentRevokedDecoder(),
|
|
91
|
+
AgentPausedEvent: getAgentPausedEventDecoder(),
|
|
92
|
+
AgentUnpausedEvent: getAgentUnpausedEventDecoder(),
|
|
93
|
+
AgentPermissionsUpdated: getAgentPermissionsUpdatedDecoder(),
|
|
94
|
+
AgentSpendLimitChecked: getAgentSpendLimitCheckedDecoder(),
|
|
95
|
+
EscrowCreated: getEscrowCreatedDecoder(),
|
|
96
|
+
EscrowSettled: getEscrowSettledDecoder(),
|
|
97
|
+
EscrowRefunded: getEscrowRefundedDecoder(),
|
|
98
|
+
PolicyUpdated: getPolicyUpdatedDecoder(),
|
|
99
|
+
PolicyChangeQueued: getPolicyChangeQueuedDecoder(),
|
|
100
|
+
PolicyChangeApplied: getPolicyChangeAppliedDecoder(),
|
|
101
|
+
PolicyChangeCancelled: getPolicyChangeCancelledDecoder(),
|
|
102
|
+
ConstraintsChangeQueued: getConstraintsChangeQueuedDecoder(),
|
|
103
|
+
ConstraintsChangeApplied: getConstraintsChangeAppliedDecoder(),
|
|
104
|
+
ConstraintsChangeCancelled: getConstraintsChangeCancelledDecoder(),
|
|
105
|
+
InstructionConstraintsCreated: getInstructionConstraintsCreatedDecoder(),
|
|
106
|
+
InstructionConstraintsUpdated: getInstructionConstraintsUpdatedDecoder(),
|
|
107
|
+
InstructionConstraintsClosed: getInstructionConstraintsClosedDecoder(),
|
|
108
|
+
DelegationRevoked: getDelegationRevokedDecoder(),
|
|
109
|
+
PositionsSynced: getPositionsSyncedDecoder(),
|
|
110
|
+
};
|
|
111
|
+
// Validate decoder map completeness at module init — catches drift when events are added/removed
|
|
112
|
+
const discriminatorEventNames = new Set(Object.values(EVENT_DISCRIMINATOR_MAP));
|
|
113
|
+
const decoderEventNames = new Set(Object.keys(EVENT_DECODER_MAP));
|
|
114
|
+
for (const name of discriminatorEventNames) {
|
|
115
|
+
if (!decoderEventNames.has(name)) {
|
|
116
|
+
throw new Error(`EVENT_DECODER_MAP missing entry for "${name}". ` +
|
|
117
|
+
`Update EVENT_DECODER_MAP in events.ts after adding new events.`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
for (const name of decoderEventNames) {
|
|
121
|
+
if (!discriminatorEventNames.has(name)) {
|
|
122
|
+
throw new Error(`EVENT_DECODER_MAP has stale entry "${name}" not in EVENT_DISCRIMINATOR_MAP. ` +
|
|
123
|
+
`Remove it from EVENT_DECODER_MAP in events.ts.`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Decode a parsed Sigil event's raw bytes into typed fields.
|
|
128
|
+
*
|
|
129
|
+
* Returns `fields: null` if the event name is unknown or decoding fails
|
|
130
|
+
* (e.g. events from older program versions with different layouts).
|
|
131
|
+
*/
|
|
132
|
+
export function decodeSigilEvent(event) {
|
|
133
|
+
const decoder = EVENT_DECODER_MAP[event.name];
|
|
134
|
+
if (!decoder) {
|
|
135
|
+
return { name: event.name, data: event.data, fields: null };
|
|
136
|
+
}
|
|
137
|
+
try {
|
|
138
|
+
const fields = decoder.decode(event.data);
|
|
139
|
+
return { name: event.name, data: event.data, fields };
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return { name: event.name, data: event.data, fields: null };
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Parse and decode Sigil events from transaction logs in one step.
|
|
147
|
+
*/
|
|
148
|
+
export function parseAndDecodeSigilEvents(logs) {
|
|
149
|
+
return parseSigilEvents(logs).map(decodeSigilEvent);
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display formatting functions for USD, percentages, time, addresses, and token amounts.
|
|
3
|
+
*
|
|
4
|
+
* Design decisions:
|
|
5
|
+
* - All USD formatting takes bigint (6-decimal stablecoin base units) and converts to display.
|
|
6
|
+
* - Never use Number() on raw bigint amounts > 2^53 — precision loss. The division by 10^6
|
|
7
|
+
* is safe because the result fits in Number range (< $18.4 trillion).
|
|
8
|
+
* - Locale: en-US hardcoded. International formatting is a future concern.
|
|
9
|
+
*
|
|
10
|
+
* This module is Phase 6 P0 from ANALYTICS-DATA-LAYER-PLAN, pulled forward into Step 5.5
|
|
11
|
+
* to eliminate overlap. Every other analytics module depends on these formatters.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Format a stablecoin base-unit amount as a USD string.
|
|
15
|
+
*
|
|
16
|
+
* Default: full stablecoin precision (6 decimals). UI can truncate by passing decimals=2.
|
|
17
|
+
*
|
|
18
|
+
* @param amount - Raw amount in stablecoin base units (6 decimals). e.g., 500_000_000n = $500.000000
|
|
19
|
+
* @param decimals - Display decimal places (default 6 = full precision). Use 2 for display, 0 for KPI cards.
|
|
20
|
+
* @returns Formatted string like "$1,234.567890" (default) or "$1,234.57" (decimals=2)
|
|
21
|
+
*/
|
|
22
|
+
export declare function formatUsd(amount: bigint, decimals?: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Format USD amount in compact notation for KPI cards and small spaces.
|
|
25
|
+
*
|
|
26
|
+
* @param amount - Raw amount in stablecoin base units (6 decimals)
|
|
27
|
+
* @returns Compact string like "$1.2K", "$3.5M", "$0.00"
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatUsdCompact(amount: bigint): string;
|
|
30
|
+
/**
|
|
31
|
+
* Format USD with explicit sign for P&L display.
|
|
32
|
+
*
|
|
33
|
+
* @param amount - Raw amount in stablecoin base units (can be negative for losses)
|
|
34
|
+
* @param decimals - Display decimal places (default 6 = full precision). Use 2 for display.
|
|
35
|
+
* @returns "+$234.560000" for gains, "-$89.120000" for losses, "$0.000000" for zero
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatUsdSigned(amount: bigint, decimals?: number): string;
|
|
38
|
+
/**
|
|
39
|
+
* Format a number as a percentage string.
|
|
40
|
+
*
|
|
41
|
+
* @param value - Percentage value (e.g., 24.7 for 24.7%)
|
|
42
|
+
* @param decimals - Decimal places (default 1)
|
|
43
|
+
* @returns "24.7%" or "0.0%"
|
|
44
|
+
*/
|
|
45
|
+
export declare function formatPercent(value: number, decimals?: number): string;
|
|
46
|
+
/**
|
|
47
|
+
* Format percentage with explicit sign for P&L display.
|
|
48
|
+
*
|
|
49
|
+
* @param value - Percentage value (positive = gain, negative = loss)
|
|
50
|
+
* @returns "+24.7%" or "-5.2%" or "0.0%"
|
|
51
|
+
*/
|
|
52
|
+
export declare function formatPercentSigned(value: number, decimals?: number): string;
|
|
53
|
+
/**
|
|
54
|
+
* Format a duration in seconds as a human-readable string.
|
|
55
|
+
*
|
|
56
|
+
* @param seconds - Duration in seconds (positive)
|
|
57
|
+
* @returns "2h 15m", "45m", "3d 12h", "< 1m"
|
|
58
|
+
*/
|
|
59
|
+
export declare function formatDuration(seconds: number): string;
|
|
60
|
+
/**
|
|
61
|
+
* Format a Unix timestamp as a relative time string.
|
|
62
|
+
*
|
|
63
|
+
* @param timestamp - Unix timestamp in seconds
|
|
64
|
+
* @returns "just now", "2m ago", "3h ago", "2d ago"
|
|
65
|
+
*/
|
|
66
|
+
export declare function formatRelativeTime(timestamp: number): string;
|
|
67
|
+
/**
|
|
68
|
+
* Format a Unix timestamp as time-until string.
|
|
69
|
+
*
|
|
70
|
+
* @param timestamp - Future Unix timestamp in seconds
|
|
71
|
+
* @returns "in 2h 15m", "in 45m", "expired"
|
|
72
|
+
*/
|
|
73
|
+
export declare function formatTimeUntil(timestamp: number): string;
|
|
74
|
+
/**
|
|
75
|
+
* Truncate a Solana address for display.
|
|
76
|
+
*
|
|
77
|
+
* @param address - Full base58 address
|
|
78
|
+
* @param chars - Characters to show on each side (default 4)
|
|
79
|
+
* @returns "7Kp3...xQ2m"
|
|
80
|
+
*/
|
|
81
|
+
export declare function formatAddress(address: string, chars?: number): string;
|
|
82
|
+
/**
|
|
83
|
+
* Format a token amount with symbol at full token precision.
|
|
84
|
+
*
|
|
85
|
+
* Default: full decimals for the token (6 for USDC, 9 for SOL). UI can truncate.
|
|
86
|
+
*
|
|
87
|
+
* @param amount - Raw amount in base units
|
|
88
|
+
* @param decimals - Token decimals (6 for USDC, 9 for SOL)
|
|
89
|
+
* @param symbol - Token symbol ("USDC", "SOL")
|
|
90
|
+
* @param displayDecimals - Override display precision (default: full token decimals)
|
|
91
|
+
* @returns "1,234.560000 USDC" or "0.123456789 SOL"
|
|
92
|
+
*/
|
|
93
|
+
export declare function formatTokenAmount(amount: bigint, decimals: number, symbol: string, displayDecimals?: number): string;
|
|
94
|
+
/**
|
|
95
|
+
* Format token amount in compact notation.
|
|
96
|
+
*
|
|
97
|
+
* @param amount - Raw amount in base units
|
|
98
|
+
* @param decimals - Token decimals
|
|
99
|
+
* @param symbol - Token symbol
|
|
100
|
+
* @returns "1.2K USDC", "3.5M SOL"
|
|
101
|
+
*/
|
|
102
|
+
export declare function formatTokenAmountCompact(amount: bigint, decimals: number, symbol: string): string;
|
|
103
|
+
//# sourceMappingURL=formatting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAqDH;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAsB9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAIpE;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAMvE;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAetD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAS5D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMzD;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,CAGhE;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,MAAM,CAkBR;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAOR"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display formatting functions for USD, percentages, time, addresses, and token amounts.
|
|
3
|
+
*
|
|
4
|
+
* Design decisions:
|
|
5
|
+
* - All USD formatting takes bigint (6-decimal stablecoin base units) and converts to display.
|
|
6
|
+
* - Never use Number() on raw bigint amounts > 2^53 — precision loss. The division by 10^6
|
|
7
|
+
* is safe because the result fits in Number range (< $18.4 trillion).
|
|
8
|
+
* - Locale: en-US hardcoded. International formatting is a future concern.
|
|
9
|
+
*
|
|
10
|
+
* This module is Phase 6 P0 from ANALYTICS-DATA-LAYER-PLAN, pulled forward into Step 5.5
|
|
11
|
+
* to eliminate overlap. Every other analytics module depends on these formatters.
|
|
12
|
+
*/
|
|
13
|
+
import { STABLECOIN_USD_FACTOR } from "./types.js";
|
|
14
|
+
// ─── Cached Intl Formatters ─────────────────────────────────────────────────
|
|
15
|
+
/** Full stablecoin precision (6 decimals = 1 micro-dollar). Default for SDK output. */
|
|
16
|
+
const usdFormatter6 = new Intl.NumberFormat("en-US", {
|
|
17
|
+
style: "currency",
|
|
18
|
+
currency: "USD",
|
|
19
|
+
minimumFractionDigits: 6,
|
|
20
|
+
maximumFractionDigits: 6,
|
|
21
|
+
});
|
|
22
|
+
const usdFormatter2 = new Intl.NumberFormat("en-US", {
|
|
23
|
+
style: "currency",
|
|
24
|
+
currency: "USD",
|
|
25
|
+
minimumFractionDigits: 2,
|
|
26
|
+
maximumFractionDigits: 2,
|
|
27
|
+
});
|
|
28
|
+
const usdFormatter0 = new Intl.NumberFormat("en-US", {
|
|
29
|
+
style: "currency",
|
|
30
|
+
currency: "USD",
|
|
31
|
+
minimumFractionDigits: 0,
|
|
32
|
+
maximumFractionDigits: 0,
|
|
33
|
+
});
|
|
34
|
+
const usdFormatterCompact = new Intl.NumberFormat("en-US", {
|
|
35
|
+
style: "currency",
|
|
36
|
+
currency: "USD",
|
|
37
|
+
notation: "compact",
|
|
38
|
+
maximumFractionDigits: 1,
|
|
39
|
+
});
|
|
40
|
+
const numberFormatter = new Intl.NumberFormat("en-US");
|
|
41
|
+
const numberFormatterCompact = new Intl.NumberFormat("en-US", {
|
|
42
|
+
notation: "compact",
|
|
43
|
+
maximumFractionDigits: 1,
|
|
44
|
+
});
|
|
45
|
+
/** Convert stablecoin base units (6 decimals) to a Number in dollars. Safe for < $18.4T. */
|
|
46
|
+
function usdToNumber(absAmount) {
|
|
47
|
+
return (Number(absAmount / STABLECOIN_USD_FACTOR) +
|
|
48
|
+
Number(absAmount % STABLECOIN_USD_FACTOR) / 1_000_000);
|
|
49
|
+
}
|
|
50
|
+
// ─── USD Formatting ──────────────────────────────────────────────────────────
|
|
51
|
+
/**
|
|
52
|
+
* Format a stablecoin base-unit amount as a USD string.
|
|
53
|
+
*
|
|
54
|
+
* Default: full stablecoin precision (6 decimals). UI can truncate by passing decimals=2.
|
|
55
|
+
*
|
|
56
|
+
* @param amount - Raw amount in stablecoin base units (6 decimals). e.g., 500_000_000n = $500.000000
|
|
57
|
+
* @param decimals - Display decimal places (default 6 = full precision). Use 2 for display, 0 for KPI cards.
|
|
58
|
+
* @returns Formatted string like "$1,234.567890" (default) or "$1,234.57" (decimals=2)
|
|
59
|
+
*/
|
|
60
|
+
export function formatUsd(amount, decimals = 6) {
|
|
61
|
+
const isNegative = amount < 0n;
|
|
62
|
+
const absAmount = isNegative ? -amount : amount;
|
|
63
|
+
const dollarValue = usdToNumber(absAmount);
|
|
64
|
+
// Use cached formatter for common decimal counts, dynamic for others
|
|
65
|
+
const formatter = decimals === 6
|
|
66
|
+
? usdFormatter6
|
|
67
|
+
: decimals === 2
|
|
68
|
+
? usdFormatter2
|
|
69
|
+
: decimals === 0
|
|
70
|
+
? usdFormatter0
|
|
71
|
+
: new Intl.NumberFormat("en-US", {
|
|
72
|
+
style: "currency",
|
|
73
|
+
currency: "USD",
|
|
74
|
+
minimumFractionDigits: decimals,
|
|
75
|
+
maximumFractionDigits: decimals,
|
|
76
|
+
});
|
|
77
|
+
const formatted = formatter.format(dollarValue);
|
|
78
|
+
return isNegative ? `-${formatted}` : formatted;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Format USD amount in compact notation for KPI cards and small spaces.
|
|
82
|
+
*
|
|
83
|
+
* @param amount - Raw amount in stablecoin base units (6 decimals)
|
|
84
|
+
* @returns Compact string like "$1.2K", "$3.5M", "$0.00"
|
|
85
|
+
*/
|
|
86
|
+
export function formatUsdCompact(amount) {
|
|
87
|
+
const isNegative = amount < 0n;
|
|
88
|
+
const absAmount = isNegative ? -amount : amount;
|
|
89
|
+
const dollarValue = usdToNumber(absAmount);
|
|
90
|
+
const formatted = usdFormatterCompact.format(dollarValue);
|
|
91
|
+
return isNegative ? `-${formatted}` : formatted;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Format USD with explicit sign for P&L display.
|
|
95
|
+
*
|
|
96
|
+
* @param amount - Raw amount in stablecoin base units (can be negative for losses)
|
|
97
|
+
* @param decimals - Display decimal places (default 6 = full precision). Use 2 for display.
|
|
98
|
+
* @returns "+$234.560000" for gains, "-$89.120000" for losses, "$0.000000" for zero
|
|
99
|
+
*/
|
|
100
|
+
export function formatUsdSigned(amount, decimals = 6) {
|
|
101
|
+
if (amount === 0n)
|
|
102
|
+
return formatUsd(0n, decimals);
|
|
103
|
+
if (amount > 0n)
|
|
104
|
+
return `+${formatUsd(amount, decimals)}`;
|
|
105
|
+
return formatUsd(amount, decimals); // formatUsd already handles negative
|
|
106
|
+
}
|
|
107
|
+
// ─── Percentage Formatting ───────────────────────────────────────────────────
|
|
108
|
+
/**
|
|
109
|
+
* Format a number as a percentage string.
|
|
110
|
+
*
|
|
111
|
+
* @param value - Percentage value (e.g., 24.7 for 24.7%)
|
|
112
|
+
* @param decimals - Decimal places (default 1)
|
|
113
|
+
* @returns "24.7%" or "0.0%"
|
|
114
|
+
*/
|
|
115
|
+
export function formatPercent(value, decimals = 1) {
|
|
116
|
+
return `${value.toFixed(decimals)}%`;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Format percentage with explicit sign for P&L display.
|
|
120
|
+
*
|
|
121
|
+
* @param value - Percentage value (positive = gain, negative = loss)
|
|
122
|
+
* @returns "+24.7%" or "-5.2%" or "0.0%"
|
|
123
|
+
*/
|
|
124
|
+
export function formatPercentSigned(value, decimals = 1) {
|
|
125
|
+
// Scale threshold to match display precision: 0.05 for 1 dec, 0.005 for 2 dec, etc.
|
|
126
|
+
const threshold = 0.5 * Math.pow(10, -decimals);
|
|
127
|
+
if (Math.abs(value) < threshold)
|
|
128
|
+
return `0.${"0".repeat(decimals)}%`;
|
|
129
|
+
if (value > 0)
|
|
130
|
+
return `+${value.toFixed(decimals)}%`;
|
|
131
|
+
return `${value.toFixed(decimals)}%`;
|
|
132
|
+
}
|
|
133
|
+
// ─── Time Formatting ─────────────────────────────────────────────────────────
|
|
134
|
+
/**
|
|
135
|
+
* Format a duration in seconds as a human-readable string.
|
|
136
|
+
*
|
|
137
|
+
* @param seconds - Duration in seconds (positive)
|
|
138
|
+
* @returns "2h 15m", "45m", "3d 12h", "< 1m"
|
|
139
|
+
*/
|
|
140
|
+
export function formatDuration(seconds) {
|
|
141
|
+
if (seconds < 0)
|
|
142
|
+
return "0m";
|
|
143
|
+
if (seconds < 60)
|
|
144
|
+
return "< 1m";
|
|
145
|
+
const days = Math.floor(seconds / 86400);
|
|
146
|
+
const hours = Math.floor((seconds % 86400) / 3600);
|
|
147
|
+
const minutes = Math.floor((seconds % 3600) / 60);
|
|
148
|
+
if (days > 0) {
|
|
149
|
+
return hours > 0 ? `${days}d ${hours}h` : `${days}d`;
|
|
150
|
+
}
|
|
151
|
+
if (hours > 0) {
|
|
152
|
+
return minutes > 0 ? `${hours}h ${minutes}m` : `${hours}h`;
|
|
153
|
+
}
|
|
154
|
+
return `${minutes}m`;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Format a Unix timestamp as a relative time string.
|
|
158
|
+
*
|
|
159
|
+
* @param timestamp - Unix timestamp in seconds
|
|
160
|
+
* @returns "just now", "2m ago", "3h ago", "2d ago"
|
|
161
|
+
*/
|
|
162
|
+
export function formatRelativeTime(timestamp) {
|
|
163
|
+
const now = Math.floor(Date.now() / 1000);
|
|
164
|
+
const diff = now - timestamp;
|
|
165
|
+
if (diff < 60)
|
|
166
|
+
return "just now";
|
|
167
|
+
if (diff < 3600)
|
|
168
|
+
return `${Math.floor(diff / 60)}m ago`;
|
|
169
|
+
if (diff < 86400)
|
|
170
|
+
return `${Math.floor(diff / 3600)}h ago`;
|
|
171
|
+
if (diff < 2592000)
|
|
172
|
+
return `${Math.floor(diff / 86400)}d ago`;
|
|
173
|
+
return `${Math.floor(diff / 2592000)}mo ago`;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Format a Unix timestamp as time-until string.
|
|
177
|
+
*
|
|
178
|
+
* @param timestamp - Future Unix timestamp in seconds
|
|
179
|
+
* @returns "in 2h 15m", "in 45m", "expired"
|
|
180
|
+
*/
|
|
181
|
+
export function formatTimeUntil(timestamp) {
|
|
182
|
+
const now = Math.floor(Date.now() / 1000);
|
|
183
|
+
const diff = timestamp - now;
|
|
184
|
+
if (diff <= 0)
|
|
185
|
+
return "expired";
|
|
186
|
+
return `in ${formatDuration(diff)}`;
|
|
187
|
+
}
|
|
188
|
+
// ─── Address Formatting ──────────────────────────────────────────────────────
|
|
189
|
+
/**
|
|
190
|
+
* Truncate a Solana address for display.
|
|
191
|
+
*
|
|
192
|
+
* @param address - Full base58 address
|
|
193
|
+
* @param chars - Characters to show on each side (default 4)
|
|
194
|
+
* @returns "7Kp3...xQ2m"
|
|
195
|
+
*/
|
|
196
|
+
export function formatAddress(address, chars = 4) {
|
|
197
|
+
if (address.length <= chars * 2 + 3)
|
|
198
|
+
return address;
|
|
199
|
+
return `${address.slice(0, chars)}...${address.slice(-chars)}`;
|
|
200
|
+
}
|
|
201
|
+
// ─── Token Amount Formatting ─────────────────────────────────────────────────
|
|
202
|
+
/**
|
|
203
|
+
* Format a token amount with symbol at full token precision.
|
|
204
|
+
*
|
|
205
|
+
* Default: full decimals for the token (6 for USDC, 9 for SOL). UI can truncate.
|
|
206
|
+
*
|
|
207
|
+
* @param amount - Raw amount in base units
|
|
208
|
+
* @param decimals - Token decimals (6 for USDC, 9 for SOL)
|
|
209
|
+
* @param symbol - Token symbol ("USDC", "SOL")
|
|
210
|
+
* @param displayDecimals - Override display precision (default: full token decimals)
|
|
211
|
+
* @returns "1,234.560000 USDC" or "0.123456789 SOL"
|
|
212
|
+
*/
|
|
213
|
+
export function formatTokenAmount(amount, decimals, symbol, displayDecimals) {
|
|
214
|
+
const isNegative = amount < 0n;
|
|
215
|
+
const absAmount = isNegative ? -amount : amount;
|
|
216
|
+
const factor = 10n ** BigInt(decimals);
|
|
217
|
+
const whole = absAmount / factor;
|
|
218
|
+
const frac = absAmount % factor;
|
|
219
|
+
const fracDigits = displayDecimals ?? decimals;
|
|
220
|
+
const fracStr = frac
|
|
221
|
+
.toString()
|
|
222
|
+
.padStart(decimals, "0")
|
|
223
|
+
.slice(0, fracDigits);
|
|
224
|
+
const wholeFormatted = numberFormatter.format(Number(whole));
|
|
225
|
+
const result = fracDigits > 0
|
|
226
|
+
? `${wholeFormatted}.${fracStr} ${symbol}`
|
|
227
|
+
: `${wholeFormatted} ${symbol}`;
|
|
228
|
+
return isNegative ? `-${result}` : result;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Format token amount in compact notation.
|
|
232
|
+
*
|
|
233
|
+
* @param amount - Raw amount in base units
|
|
234
|
+
* @param decimals - Token decimals
|
|
235
|
+
* @param symbol - Token symbol
|
|
236
|
+
* @returns "1.2K USDC", "3.5M SOL"
|
|
237
|
+
*/
|
|
238
|
+
export function formatTokenAmountCompact(amount, decimals, symbol) {
|
|
239
|
+
const factor = 10n ** BigInt(decimals);
|
|
240
|
+
const value = Number(amount / factor) + Number(amount % factor) / Number(factor);
|
|
241
|
+
const formatted = numberFormatterCompact.format(value);
|
|
242
|
+
return `${formatted} ${symbol}`;
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=formatting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the Codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun Codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
import { fetchEncodedAccount, fetchEncodedAccounts, type Account, type Address, type EncodedAccount, type FetchAccountConfig, type FetchAccountsConfig, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type MaybeAccount, type MaybeEncodedAccount, type ReadonlyUint8Array } from "@solana/kit";
|
|
9
|
+
import { type AgentContributionEntry, type AgentContributionEntryArgs } from "../types/index.js";
|
|
10
|
+
export declare const AGENT_SPEND_OVERLAY_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
|
|
11
|
+
export declare function getAgentSpendOverlayDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
|
|
12
|
+
export type AgentSpendOverlay = {
|
|
13
|
+
discriminator: ReadonlyUint8Array;
|
|
14
|
+
/** Associated vault pubkey */
|
|
15
|
+
vault: Address;
|
|
16
|
+
/** Agent contribution entries (up to MAX_OVERLAY_ENTRIES agents) */
|
|
17
|
+
entries: Array<AgentContributionEntry>;
|
|
18
|
+
/** Bump seed for PDA */
|
|
19
|
+
bump: number;
|
|
20
|
+
/** Padding for 8-byte alignment */
|
|
21
|
+
padding: ReadonlyUint8Array;
|
|
22
|
+
/** Per-agent cumulative spend in USD base units */
|
|
23
|
+
lifetimeSpend: Array<bigint>;
|
|
24
|
+
/** Per-agent cumulative transaction count */
|
|
25
|
+
lifetimeTxCount: Array<bigint>;
|
|
26
|
+
};
|
|
27
|
+
export type AgentSpendOverlayArgs = {
|
|
28
|
+
/** Associated vault pubkey */
|
|
29
|
+
vault: Address;
|
|
30
|
+
/** Agent contribution entries (up to MAX_OVERLAY_ENTRIES agents) */
|
|
31
|
+
entries: Array<AgentContributionEntryArgs>;
|
|
32
|
+
/** Bump seed for PDA */
|
|
33
|
+
bump: number;
|
|
34
|
+
/** Padding for 8-byte alignment */
|
|
35
|
+
padding: ReadonlyUint8Array;
|
|
36
|
+
/** Per-agent cumulative spend in USD base units */
|
|
37
|
+
lifetimeSpend: Array<number | bigint>;
|
|
38
|
+
/** Per-agent cumulative transaction count */
|
|
39
|
+
lifetimeTxCount: Array<number | bigint>;
|
|
40
|
+
};
|
|
41
|
+
/** Gets the encoder for {@link AgentSpendOverlayArgs} account data. */
|
|
42
|
+
export declare function getAgentSpendOverlayEncoder(): FixedSizeEncoder<AgentSpendOverlayArgs>;
|
|
43
|
+
/** Gets the decoder for {@link AgentSpendOverlay} account data. */
|
|
44
|
+
export declare function getAgentSpendOverlayDecoder(): FixedSizeDecoder<AgentSpendOverlay>;
|
|
45
|
+
/** Gets the codec for {@link AgentSpendOverlay} account data. */
|
|
46
|
+
export declare function getAgentSpendOverlayCodec(): FixedSizeCodec<AgentSpendOverlayArgs, AgentSpendOverlay>;
|
|
47
|
+
export declare function decodeAgentSpendOverlay<TAddress extends string = string>(encodedAccount: EncodedAccount<TAddress>): Account<AgentSpendOverlay, TAddress>;
|
|
48
|
+
export declare function decodeAgentSpendOverlay<TAddress extends string = string>(encodedAccount: MaybeEncodedAccount<TAddress>): MaybeAccount<AgentSpendOverlay, TAddress>;
|
|
49
|
+
export declare function fetchAgentSpendOverlay<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<Account<AgentSpendOverlay, TAddress>>;
|
|
50
|
+
export declare function fetchMaybeAgentSpendOverlay<TAddress extends string = string>(rpc: Parameters<typeof fetchEncodedAccount>[0], address: Address<TAddress>, config?: FetchAccountConfig): Promise<MaybeAccount<AgentSpendOverlay, TAddress>>;
|
|
51
|
+
export declare function fetchAllAgentSpendOverlay(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<Account<AgentSpendOverlay>[]>;
|
|
52
|
+
export declare function fetchAllMaybeAgentSpendOverlay(rpc: Parameters<typeof fetchEncodedAccounts>[0], addresses: Array<Address>, config?: FetchAccountsConfig): Promise<MaybeAccount<AgentSpendOverlay>[]>;
|
|
53
|
+
export declare function getAgentSpendOverlaySize(): number;
|
|
54
|
+
//# sourceMappingURL=agentSpendOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentSpendOverlay.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/agentSpendOverlay.ts"],"names":[],"mappings":"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"}
|