@agirails/sdk 2.0.1-beta → 2.0.2
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 +190 -0
- package/README.md +116 -108
- package/bin/actp +10 -0
- package/dist/ACTPClient.d.ts +456 -33
- package/dist/ACTPClient.d.ts.map +1 -1
- package/dist/ACTPClient.js +477 -93
- package/dist/ACTPClient.js.map +1 -1
- package/dist/abi/AgentRegistry.json +782 -0
- package/dist/abi/EscrowVault.json +106 -38
- package/dist/abi/IdentityRegistry.json +316 -0
- package/dist/adapters/BaseAdapter.d.ts +231 -0
- package/dist/adapters/BaseAdapter.d.ts.map +1 -0
- package/dist/adapters/BaseAdapter.js +393 -0
- package/dist/adapters/BaseAdapter.js.map +1 -0
- package/dist/adapters/BeginnerAdapter.d.ts +152 -0
- package/dist/adapters/BeginnerAdapter.d.ts.map +1 -0
- package/dist/adapters/BeginnerAdapter.js +168 -0
- package/dist/adapters/BeginnerAdapter.js.map +1 -0
- package/dist/adapters/IntermediateAdapter.d.ts +211 -0
- package/dist/adapters/IntermediateAdapter.d.ts.map +1 -0
- package/dist/adapters/IntermediateAdapter.js +260 -0
- package/dist/adapters/IntermediateAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +15 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +26 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/builders/DeliveryProofBuilder.d.ts +60 -1
- package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
- package/dist/builders/DeliveryProofBuilder.js +81 -5
- package/dist/builders/DeliveryProofBuilder.js.map +1 -1
- package/dist/builders/QuoteBuilder.d.ts +101 -0
- package/dist/builders/QuoteBuilder.d.ts.map +1 -1
- package/dist/builders/QuoteBuilder.js +120 -3
- package/dist/builders/QuoteBuilder.js.map +1 -1
- package/dist/builders/index.d.ts +4 -0
- package/dist/builders/index.d.ts.map +1 -1
- package/dist/builders/index.js +4 -0
- package/dist/builders/index.js.map +1 -1
- package/dist/cli/commands/balance.d.ts +13 -0
- package/dist/cli/commands/balance.d.ts.map +1 -0
- package/dist/cli/commands/balance.js +89 -0
- package/dist/cli/commands/balance.js.map +1 -0
- package/dist/cli/commands/batch.d.ts +24 -0
- package/dist/cli/commands/batch.d.ts.map +1 -0
- package/dist/cli/commands/batch.js +424 -0
- package/dist/cli/commands/batch.js.map +1 -0
- package/dist/cli/commands/config.d.ts +13 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +192 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/init.d.ts +19 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +143 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/mint.d.ts +13 -0
- package/dist/cli/commands/mint.d.ts.map +1 -0
- package/dist/cli/commands/mint.js +91 -0
- package/dist/cli/commands/mint.js.map +1 -0
- package/dist/cli/commands/pay.d.ts +18 -0
- package/dist/cli/commands/pay.d.ts.map +1 -0
- package/dist/cli/commands/pay.js +87 -0
- package/dist/cli/commands/pay.js.map +1 -0
- package/dist/cli/commands/simulate.d.ts +32 -0
- package/dist/cli/commands/simulate.d.ts.map +1 -0
- package/dist/cli/commands/simulate.js +290 -0
- package/dist/cli/commands/simulate.js.map +1 -0
- package/dist/cli/commands/time.d.ts +29 -0
- package/dist/cli/commands/time.d.ts.map +1 -0
- package/dist/cli/commands/time.js +252 -0
- package/dist/cli/commands/time.js.map +1 -0
- package/dist/cli/commands/tx.d.ts +16 -0
- package/dist/cli/commands/tx.d.ts.map +1 -0
- package/dist/cli/commands/tx.js +379 -0
- package/dist/cli/commands/tx.js.map +1 -0
- package/dist/cli/commands/watch.d.ts +20 -0
- package/dist/cli/commands/watch.d.ts.map +1 -0
- package/dist/cli/commands/watch.js +160 -0
- package/dist/cli/commands/watch.js.map +1 -0
- package/dist/cli/index.d.ts +17 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +104 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/utils/client.d.ts +70 -0
- package/dist/cli/utils/client.d.ts.map +1 -0
- package/dist/cli/utils/client.js +240 -0
- package/dist/cli/utils/client.js.map +1 -0
- package/dist/cli/utils/config.d.ts +91 -0
- package/dist/cli/utils/config.d.ts.map +1 -0
- package/dist/cli/utils/config.js +240 -0
- package/dist/cli/utils/config.js.map +1 -0
- package/dist/cli/utils/output.d.ts +174 -0
- package/dist/cli/utils/output.d.ts.map +1 -0
- package/dist/cli/utils/output.js +380 -0
- package/dist/cli/utils/output.js.map +1 -0
- package/dist/config/networks.d.ts +28 -0
- package/dist/config/networks.d.ts.map +1 -1
- package/dist/config/networks.js +60 -12
- package/dist/config/networks.js.map +1 -1
- package/dist/errors/index.d.ts +165 -2
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +260 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +61 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -36
- package/dist/index.js.map +1 -1
- package/dist/level0/Provider.d.ts +106 -0
- package/dist/level0/Provider.d.ts.map +1 -0
- package/dist/level0/Provider.js +10 -0
- package/dist/level0/Provider.js.map +1 -0
- package/dist/level0/ServiceDirectory.d.ts +74 -0
- package/dist/level0/ServiceDirectory.d.ts.map +1 -0
- package/dist/level0/ServiceDirectory.js +122 -0
- package/dist/level0/ServiceDirectory.js.map +1 -0
- package/dist/level0/index.d.ts +10 -0
- package/dist/level0/index.d.ts.map +1 -0
- package/dist/level0/index.js +15 -0
- package/dist/level0/index.js.map +1 -0
- package/dist/level0/provide.d.ts +51 -0
- package/dist/level0/provide.d.ts.map +1 -0
- package/dist/level0/provide.js +113 -0
- package/dist/level0/provide.js.map +1 -0
- package/dist/level0/request.d.ts +53 -0
- package/dist/level0/request.d.ts.map +1 -0
- package/dist/level0/request.js +462 -0
- package/dist/level0/request.js.map +1 -0
- package/dist/level1/Agent.d.ts +472 -0
- package/dist/level1/Agent.d.ts.map +1 -0
- package/dist/level1/Agent.js +1091 -0
- package/dist/level1/Agent.js.map +1 -0
- package/dist/level1/index.d.ts +10 -0
- package/dist/level1/index.d.ts.map +1 -0
- package/dist/level1/index.js +30 -0
- package/dist/level1/index.js.map +1 -0
- package/dist/level1/pricing/PriceCalculator.d.ts +62 -0
- package/dist/level1/pricing/PriceCalculator.d.ts.map +1 -0
- package/dist/level1/pricing/PriceCalculator.js +237 -0
- package/dist/level1/pricing/PriceCalculator.js.map +1 -0
- package/dist/level1/pricing/PricingStrategy.d.ts +179 -0
- package/dist/level1/pricing/PricingStrategy.d.ts.map +1 -0
- package/dist/level1/pricing/PricingStrategy.js +11 -0
- package/dist/level1/pricing/PricingStrategy.js.map +1 -0
- package/dist/level1/types/Job.d.ts +166 -0
- package/dist/level1/types/Job.d.ts.map +1 -0
- package/dist/level1/types/Job.js +11 -0
- package/dist/level1/types/Job.js.map +1 -0
- package/dist/level1/types/Options.d.ts +258 -0
- package/dist/level1/types/Options.d.ts.map +1 -0
- package/dist/level1/types/Options.js +8 -0
- package/dist/level1/types/Options.js.map +1 -0
- package/dist/level1/types/index.d.ts +8 -0
- package/dist/level1/types/index.d.ts.map +1 -0
- package/dist/level1/types/index.js +8 -0
- package/dist/level1/types/index.js.map +1 -0
- package/dist/protocol/ACTPKernel.d.ts +229 -2
- package/dist/protocol/ACTPKernel.d.ts.map +1 -1
- package/dist/protocol/ACTPKernel.js +367 -33
- package/dist/protocol/ACTPKernel.js.map +1 -1
- package/dist/protocol/AgentRegistry.d.ts +177 -0
- package/dist/protocol/AgentRegistry.d.ts.map +1 -0
- package/dist/protocol/AgentRegistry.js +449 -0
- package/dist/protocol/AgentRegistry.js.map +1 -0
- package/dist/protocol/DIDManager.d.ts +289 -0
- package/dist/protocol/DIDManager.d.ts.map +1 -0
- package/dist/protocol/DIDManager.js +481 -0
- package/dist/protocol/DIDManager.js.map +1 -0
- package/dist/protocol/DIDResolver.d.ts +236 -0
- package/dist/protocol/DIDResolver.d.ts.map +1 -0
- package/dist/protocol/DIDResolver.js +495 -0
- package/dist/protocol/DIDResolver.js.map +1 -0
- package/dist/protocol/EASHelper.d.ts +57 -2
- package/dist/protocol/EASHelper.d.ts.map +1 -1
- package/dist/protocol/EASHelper.js +230 -37
- package/dist/protocol/EASHelper.js.map +1 -1
- package/dist/protocol/EscrowVault.d.ts +93 -2
- package/dist/protocol/EscrowVault.d.ts.map +1 -1
- package/dist/protocol/EscrowVault.js +122 -33
- package/dist/protocol/EscrowVault.js.map +1 -1
- package/dist/protocol/EventMonitor.d.ts +45 -1
- package/dist/protocol/EventMonitor.d.ts.map +1 -1
- package/dist/protocol/EventMonitor.js +64 -8
- package/dist/protocol/EventMonitor.js.map +1 -1
- package/dist/protocol/MessageSigner.d.ts +116 -2
- package/dist/protocol/MessageSigner.d.ts.map +1 -1
- package/dist/protocol/MessageSigner.js +215 -9
- package/dist/protocol/MessageSigner.js.map +1 -1
- package/dist/protocol/ProofGenerator.d.ts +93 -0
- package/dist/protocol/ProofGenerator.d.ts.map +1 -1
- package/dist/protocol/ProofGenerator.js +194 -9
- package/dist/protocol/ProofGenerator.js.map +1 -1
- package/dist/protocol/QuoteBuilder.d.ts +8 -0
- package/dist/protocol/QuoteBuilder.d.ts.map +1 -1
- package/dist/protocol/QuoteBuilder.js +8 -0
- package/dist/protocol/QuoteBuilder.js.map +1 -1
- package/dist/runtime/BlockchainRuntime.d.ts +360 -0
- package/dist/runtime/BlockchainRuntime.d.ts.map +1 -0
- package/dist/runtime/BlockchainRuntime.js +767 -0
- package/dist/runtime/BlockchainRuntime.js.map +1 -0
- package/dist/runtime/IACTPRuntime.d.ts +271 -0
- package/dist/runtime/IACTPRuntime.d.ts.map +1 -0
- package/dist/runtime/IACTPRuntime.js +15 -0
- package/dist/runtime/IACTPRuntime.js.map +1 -0
- package/dist/runtime/MockRuntime.d.ts +445 -0
- package/dist/runtime/MockRuntime.d.ts.map +1 -0
- package/dist/runtime/MockRuntime.js +1065 -0
- package/dist/runtime/MockRuntime.js.map +1 -0
- package/dist/runtime/MockStateManager.d.ts +233 -0
- package/dist/runtime/MockStateManager.d.ts.map +1 -0
- package/dist/runtime/MockStateManager.js +533 -0
- package/dist/runtime/MockStateManager.js.map +1 -0
- package/dist/runtime/index.d.ts +14 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +42 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/types/MockState.d.ts +167 -0
- package/dist/runtime/types/MockState.d.ts.map +1 -0
- package/dist/runtime/types/MockState.js +43 -0
- package/dist/runtime/types/MockState.js.map +1 -0
- package/dist/types/agent.d.ts +76 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +8 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/did.d.ts +192 -0
- package/dist/types/did.d.ts.map +1 -0
- package/dist/types/did.js +38 -0
- package/dist/types/did.js.map +1 -0
- package/dist/types/eip712.d.ts +34 -0
- package/dist/types/eip712.d.ts.map +1 -1
- package/dist/types/eip712.js +31 -5
- package/dist/types/eip712.js.map +1 -1
- package/dist/types/escrow.d.ts +17 -10
- package/dist/types/escrow.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/message.d.ts +32 -0
- package/dist/types/message.d.ts.map +1 -1
- package/dist/types/message.js +4 -0
- package/dist/types/message.js.map +1 -1
- package/dist/types/state.d.ts +28 -0
- package/dist/types/state.d.ts.map +1 -1
- package/dist/types/state.js +37 -6
- package/dist/types/state.js.map +1 -1
- package/dist/types/transaction.d.ts +17 -0
- package/dist/types/transaction.d.ts.map +1 -1
- package/dist/utils/ErrorRecoveryGuide.d.ts +125 -0
- package/dist/utils/ErrorRecoveryGuide.d.ts.map +1 -0
- package/dist/utils/ErrorRecoveryGuide.js +579 -0
- package/dist/utils/ErrorRecoveryGuide.js.map +1 -0
- package/dist/utils/Helpers.d.ts +453 -0
- package/dist/utils/Helpers.d.ts.map +1 -0
- package/dist/utils/Helpers.js +623 -0
- package/dist/utils/Helpers.js.map +1 -0
- package/dist/utils/IPFSClient.d.ts +113 -0
- package/dist/utils/IPFSClient.d.ts.map +1 -1
- package/dist/utils/IPFSClient.js +128 -7
- package/dist/utils/IPFSClient.js.map +1 -1
- package/dist/utils/Logger.d.ts +195 -0
- package/dist/utils/Logger.d.ts.map +1 -0
- package/dist/utils/Logger.js +382 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/NonceManager.d.ts +234 -1
- package/dist/utils/NonceManager.d.ts.map +1 -1
- package/dist/utils/NonceManager.js +372 -7
- package/dist/utils/NonceManager.js.map +1 -1
- package/dist/utils/RateLimiter.d.ts +253 -0
- package/dist/utils/RateLimiter.d.ts.map +1 -0
- package/dist/utils/RateLimiter.js +424 -0
- package/dist/utils/RateLimiter.js.map +1 -0
- package/dist/utils/ReceivedNonceTracker.d.ts +175 -0
- package/dist/utils/ReceivedNonceTracker.d.ts.map +1 -1
- package/dist/utils/ReceivedNonceTracker.js +261 -5
- package/dist/utils/ReceivedNonceTracker.js.map +1 -1
- package/dist/utils/SDKLifecycle.d.ts +156 -0
- package/dist/utils/SDKLifecycle.d.ts.map +1 -0
- package/dist/utils/SDKLifecycle.js +347 -0
- package/dist/utils/SDKLifecycle.js.map +1 -0
- package/dist/utils/SecureNonce.d.ts +57 -0
- package/dist/utils/SecureNonce.d.ts.map +1 -0
- package/dist/utils/SecureNonce.js +80 -0
- package/dist/utils/SecureNonce.js.map +1 -0
- package/dist/utils/Semaphore.d.ts +123 -0
- package/dist/utils/Semaphore.d.ts.map +1 -0
- package/dist/utils/Semaphore.js +247 -0
- package/dist/utils/Semaphore.js.map +1 -0
- package/dist/utils/UsedAttestationTracker.d.ts +167 -0
- package/dist/utils/UsedAttestationTracker.d.ts.map +1 -0
- package/dist/utils/UsedAttestationTracker.js +309 -0
- package/dist/utils/UsedAttestationTracker.js.map +1 -0
- package/dist/utils/canonicalJson.d.ts +22 -0
- package/dist/utils/canonicalJson.d.ts.map +1 -1
- package/dist/utils/canonicalJson.js +26 -3
- package/dist/utils/canonicalJson.js.map +1 -1
- package/dist/utils/computeTypeHash.d.ts +14 -0
- package/dist/utils/computeTypeHash.d.ts.map +1 -1
- package/dist/utils/computeTypeHash.js +19 -2
- package/dist/utils/computeTypeHash.js.map +1 -1
- package/dist/utils/fsSafe.d.ts +14 -0
- package/dist/utils/fsSafe.d.ts.map +1 -0
- package/dist/utils/fsSafe.js +89 -0
- package/dist/utils/fsSafe.js.map +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +51 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/security.d.ts +147 -0
- package/dist/utils/security.d.ts.map +1 -0
- package/dist/utils/security.js +391 -0
- package/dist/utils/security.js.map +1 -0
- package/dist/utils/validation.d.ts +40 -0
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +184 -7
- package/dist/utils/validation.js.map +1 -1
- package/package.json +54 -37
- package/src/ACTPClient.ts +692 -178
- package/src/abi/AgentRegistry.json +782 -0
- package/src/abi/EscrowVault.json +106 -38
- package/src/abi/IdentityRegistry.json +316 -0
- package/src/adapters/BaseAdapter.ts +473 -0
- package/src/adapters/BeginnerAdapter.ts +232 -0
- package/src/adapters/IntermediateAdapter.ts +316 -0
- package/src/adapters/index.ts +25 -0
- package/src/builders/DeliveryProofBuilder.ts +3 -2
- package/src/cli/commands/balance.ts +110 -0
- package/src/cli/commands/batch.ts +487 -0
- package/src/cli/commands/config.ts +231 -0
- package/src/cli/commands/init.ts +161 -0
- package/src/cli/commands/mint.ts +116 -0
- package/src/cli/commands/pay.ts +113 -0
- package/src/cli/commands/simulate.ts +345 -0
- package/src/cli/commands/time.ts +303 -0
- package/src/cli/commands/tx.ts +448 -0
- package/src/cli/commands/watch.ts +211 -0
- package/src/cli/index.ts +116 -0
- package/src/cli/utils/client.ts +249 -0
- package/src/cli/utils/config.ts +282 -0
- package/src/cli/utils/output.ts +465 -0
- package/src/config/networks.ts +32 -9
- package/src/errors/index.ts +298 -1
- package/src/index.ts +207 -71
- package/src/level0/Provider.ts +117 -0
- package/src/level0/ServiceDirectory.ts +131 -0
- package/src/level0/index.ts +10 -0
- package/src/level0/provide.ts +131 -0
- package/src/level0/request.ts +494 -0
- package/src/level1/Agent.ts +1432 -0
- package/src/level1/index.ts +10 -0
- package/src/level1/pricing/PriceCalculator.ts +255 -0
- package/src/level1/pricing/PricingStrategy.ts +198 -0
- package/src/level1/types/Job.ts +179 -0
- package/src/level1/types/Options.ts +291 -0
- package/src/level1/types/index.ts +8 -0
- package/src/protocol/ACTPKernel.ts +175 -23
- package/src/protocol/AgentRegistry.ts +559 -0
- package/src/protocol/DIDManager.ts +629 -0
- package/src/protocol/DIDResolver.ts +554 -0
- package/src/protocol/EASHelper.ts +230 -46
- package/src/protocol/EscrowVault.ts +68 -50
- package/src/protocol/EventMonitor.ts +44 -15
- package/src/protocol/MessageSigner.ts +193 -13
- package/src/protocol/ProofGenerator.ts +223 -4
- package/src/runtime/BlockchainRuntime.ts +993 -0
- package/src/runtime/IACTPRuntime.ts +284 -0
- package/src/runtime/MockRuntime.ts +1244 -0
- package/src/runtime/MockStateManager.ts +576 -0
- package/src/runtime/index.ts +25 -0
- package/src/runtime/types/MockState.ts +227 -0
- package/src/types/agent.ts +79 -0
- package/src/types/did.ts +223 -0
- package/src/types/escrow.ts +12 -11
- package/src/types/index.ts +5 -1
- package/src/types/state.ts +12 -3
- package/src/types/transaction.ts +4 -1
- package/src/utils/ErrorRecoveryGuide.ts +675 -0
- package/src/utils/Helpers.ts +688 -0
- package/src/utils/IPFSClient.ts +122 -5
- package/src/utils/Logger.ts +484 -0
- package/src/utils/NonceManager.ts +305 -8
- package/src/utils/RateLimiter.ts +534 -0
- package/src/utils/ReceivedNonceTracker.ts +170 -0
- package/src/utils/SDKLifecycle.ts +416 -0
- package/src/utils/SecureNonce.ts +78 -0
- package/src/utils/Semaphore.ts +276 -0
- package/src/utils/UsedAttestationTracker.ts +387 -0
- package/src/utils/fsSafe.ts +75 -0
- package/src/utils/index.ts +80 -0
- package/src/utils/security.ts +418 -0
- package/src/utils/validation.ts +164 -0
- package/src/__tests__/ProofGenerator.test.ts +0 -124
- package/src/__tests__/QuoteBuilder.test.ts +0 -516
- package/src/__tests__/StateMachine.test.ts +0 -82
- package/src/__tests__/builders/DeliveryProofBuilder.test.ts +0 -581
- package/src/__tests__/integration/ACTPClient.test.ts +0 -263
- package/src/__tests__/integration.test.ts +0 -289
- package/src/__tests__/protocol/EASHelper.test.ts +0 -472
- package/src/__tests__/protocol/EventMonitor.test.ts +0 -382
- package/src/__tests__/security/ACTPKernel.security.test.ts +0 -1167
- package/src/__tests__/security/EscrowVault.security.test.ts +0 -570
- package/src/__tests__/security/MessageSigner.security.test.ts +0 -286
- package/src/__tests__/security/NonceReplay.security.test.ts +0 -501
- package/src/__tests__/security/validation.security.test.ts +0 -376
- package/src/__tests__/utils/IPFSClient.test.ts +0 -262
- package/src/__tests__/utils/NonceManager.test.ts +0 -205
- package/src/__tests__/utils/canonicalJson.test.ts +0 -153
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers - Common utility functions for ACTP SDK
|
|
3
|
+
*
|
|
4
|
+
* SECURITY FIX (L-7): Convenience methods for common operations
|
|
5
|
+
* to reduce boilerplate and prevent mistakes.
|
|
6
|
+
*
|
|
7
|
+
* @module utils/Helpers
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* USDC amount utilities (6 decimal places)
|
|
11
|
+
*/
|
|
12
|
+
export declare const USDC: {
|
|
13
|
+
/**
|
|
14
|
+
* USDC decimals
|
|
15
|
+
*/
|
|
16
|
+
DECIMALS: number;
|
|
17
|
+
/**
|
|
18
|
+
* Minimum transaction amount in USDC wei ($0.05)
|
|
19
|
+
*/
|
|
20
|
+
MIN_AMOUNT_WEI: bigint;
|
|
21
|
+
/**
|
|
22
|
+
* Convert human-readable USDC amount to wei
|
|
23
|
+
*
|
|
24
|
+
* @param amount - Amount as string or number (e.g., "100.50")
|
|
25
|
+
* @returns Amount in USDC wei (6 decimals)
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* USDC.toWei("100") // 100_000_000n
|
|
30
|
+
* USDC.toWei("100.50") // 100_500_000n
|
|
31
|
+
* USDC.toWei(100) // 100_000_000n
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
toWei(amount: string | number): bigint;
|
|
35
|
+
/**
|
|
36
|
+
* Convert USDC wei to human-readable string
|
|
37
|
+
*
|
|
38
|
+
* SECURITY FIX (MEDIUM-6): Uses pure BigInt arithmetic to prevent precision loss
|
|
39
|
+
*
|
|
40
|
+
* @param weiAmount - Amount in USDC wei
|
|
41
|
+
* @param decimals - Number of decimal places to show (default: 2)
|
|
42
|
+
* @returns Formatted string (e.g., "100.50")
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* USDC.fromWei(100_500_000n) // "100.50"
|
|
47
|
+
* USDC.fromWei(100_000_000n) // "100.00"
|
|
48
|
+
* USDC.fromWei(100_126_000n, 4) // "100.1260"
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
fromWei(weiAmount: bigint | string, decimals?: number): string;
|
|
52
|
+
/**
|
|
53
|
+
* Format USDC amount with currency symbol
|
|
54
|
+
*
|
|
55
|
+
* @param weiAmount - Amount in USDC wei
|
|
56
|
+
* @returns Formatted string with USDC suffix (e.g., "100.50 USDC")
|
|
57
|
+
*/
|
|
58
|
+
format(weiAmount: bigint | string): string;
|
|
59
|
+
/**
|
|
60
|
+
* Check if amount meets minimum transaction requirement
|
|
61
|
+
*
|
|
62
|
+
* @param weiAmount - Amount in USDC wei
|
|
63
|
+
* @returns true if amount >= $0.05
|
|
64
|
+
*/
|
|
65
|
+
meetsMinimum(weiAmount: bigint | string): boolean;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Deadline utilities
|
|
69
|
+
*/
|
|
70
|
+
export declare const Deadline: {
|
|
71
|
+
/**
|
|
72
|
+
* Create deadline N hours from now
|
|
73
|
+
*
|
|
74
|
+
* @param hours - Number of hours from now
|
|
75
|
+
* @returns Unix timestamp in seconds
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* Deadline.hoursFromNow(24) // timestamp 24 hours from now
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
hoursFromNow(hours: number): number;
|
|
83
|
+
/**
|
|
84
|
+
* Create deadline N days from now
|
|
85
|
+
*
|
|
86
|
+
* @param days - Number of days from now
|
|
87
|
+
* @returns Unix timestamp in seconds
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* Deadline.daysFromNow(7) // timestamp 7 days from now
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
daysFromNow(days: number): number;
|
|
95
|
+
/**
|
|
96
|
+
* Create deadline at specific date
|
|
97
|
+
*
|
|
98
|
+
* @param date - Date object or ISO string
|
|
99
|
+
* @returns Unix timestamp in seconds
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* Deadline.at(new Date('2025-01-01'))
|
|
104
|
+
* Deadline.at('2025-01-01T00:00:00Z')
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
at(date: Date | string): number;
|
|
108
|
+
/**
|
|
109
|
+
* Check if deadline has passed
|
|
110
|
+
*
|
|
111
|
+
* @param deadline - Unix timestamp in seconds
|
|
112
|
+
* @returns true if deadline is in the past
|
|
113
|
+
*/
|
|
114
|
+
isPast(deadline: number): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Get time remaining until deadline
|
|
117
|
+
*
|
|
118
|
+
* @param deadline - Unix timestamp in seconds
|
|
119
|
+
* @returns Time remaining in seconds (negative if past)
|
|
120
|
+
*/
|
|
121
|
+
timeRemaining(deadline: number): number;
|
|
122
|
+
/**
|
|
123
|
+
* Format deadline as human-readable string
|
|
124
|
+
*
|
|
125
|
+
* @param deadline - Unix timestamp in seconds
|
|
126
|
+
* @returns Human-readable string (e.g., "in 2 hours", "expired 1 day ago")
|
|
127
|
+
*/
|
|
128
|
+
format(deadline: number): string;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Address utilities
|
|
132
|
+
*/
|
|
133
|
+
export declare const Address: {
|
|
134
|
+
/**
|
|
135
|
+
* Normalize address to lowercase with 0x prefix
|
|
136
|
+
*
|
|
137
|
+
* @param address - Ethereum address
|
|
138
|
+
* @returns Normalized address
|
|
139
|
+
*/
|
|
140
|
+
normalize(address: string): string;
|
|
141
|
+
/**
|
|
142
|
+
* Check if two addresses are the same (case-insensitive)
|
|
143
|
+
*
|
|
144
|
+
* @param a - First address
|
|
145
|
+
* @param b - Second address
|
|
146
|
+
* @returns true if addresses match
|
|
147
|
+
*/
|
|
148
|
+
equals(a: string, b: string): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Truncate address for display
|
|
151
|
+
*
|
|
152
|
+
* @param address - Ethereum address
|
|
153
|
+
* @param chars - Characters to show on each side (default: 4)
|
|
154
|
+
* @returns Truncated address (e.g., "0x1234...5678")
|
|
155
|
+
*/
|
|
156
|
+
truncate(address: string, chars?: number): string;
|
|
157
|
+
/**
|
|
158
|
+
* Check if string is valid Ethereum address format
|
|
159
|
+
*
|
|
160
|
+
* @param address - String to check
|
|
161
|
+
* @returns true if valid address format
|
|
162
|
+
*/
|
|
163
|
+
isValid(address: string): boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Check if address is zero address
|
|
166
|
+
*
|
|
167
|
+
* @param address - Ethereum address
|
|
168
|
+
* @returns true if zero address
|
|
169
|
+
*/
|
|
170
|
+
isZero(address: string): boolean;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Bytes32 utilities
|
|
174
|
+
*/
|
|
175
|
+
export declare const Bytes32: {
|
|
176
|
+
/**
|
|
177
|
+
* Check if string is valid bytes32 format
|
|
178
|
+
*
|
|
179
|
+
* @param value - String to check
|
|
180
|
+
* @returns true if valid bytes32 format
|
|
181
|
+
*/
|
|
182
|
+
isValid(value: string): boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Normalize bytes32 to lowercase
|
|
185
|
+
*
|
|
186
|
+
* @param value - Bytes32 string
|
|
187
|
+
* @returns Normalized lowercase string
|
|
188
|
+
*/
|
|
189
|
+
normalize(value: string): string;
|
|
190
|
+
/**
|
|
191
|
+
* Check if two bytes32 values are equal
|
|
192
|
+
*
|
|
193
|
+
* @param a - First value
|
|
194
|
+
* @param b - Second value
|
|
195
|
+
* @returns true if equal
|
|
196
|
+
*/
|
|
197
|
+
equals(a: string, b: string): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Check if bytes32 is zero
|
|
200
|
+
*
|
|
201
|
+
* @param value - Bytes32 string
|
|
202
|
+
* @returns true if zero
|
|
203
|
+
*/
|
|
204
|
+
isZero(value: string): boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Create zero bytes32
|
|
207
|
+
*
|
|
208
|
+
* @returns Zero bytes32 string
|
|
209
|
+
*/
|
|
210
|
+
zero(): string;
|
|
211
|
+
/**
|
|
212
|
+
* Truncate bytes32 for display
|
|
213
|
+
*
|
|
214
|
+
* @param value - Bytes32 string
|
|
215
|
+
* @param chars - Characters to show on each side (default: 6)
|
|
216
|
+
* @returns Truncated string (e.g., "0x123456...abcdef")
|
|
217
|
+
*/
|
|
218
|
+
truncate(value: string, chars?: number): string;
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* State machine utilities
|
|
222
|
+
*/
|
|
223
|
+
export declare const State: {
|
|
224
|
+
/**
|
|
225
|
+
* Valid ACTP states
|
|
226
|
+
*/
|
|
227
|
+
STATES: readonly ["INITIATED", "QUOTED", "COMMITTED", "IN_PROGRESS", "DELIVERED", "SETTLED", "DISPUTED", "CANCELLED"];
|
|
228
|
+
/**
|
|
229
|
+
* Terminal states (no further transitions)
|
|
230
|
+
*/
|
|
231
|
+
TERMINAL: readonly ["SETTLED", "CANCELLED"];
|
|
232
|
+
/**
|
|
233
|
+
* Check if state is terminal
|
|
234
|
+
*
|
|
235
|
+
* @param state - State to check
|
|
236
|
+
* @returns true if terminal state
|
|
237
|
+
*/
|
|
238
|
+
isTerminal(state: string): boolean;
|
|
239
|
+
/**
|
|
240
|
+
* Check if state is valid
|
|
241
|
+
*
|
|
242
|
+
* @param state - State to check
|
|
243
|
+
* @returns true if valid state
|
|
244
|
+
*/
|
|
245
|
+
isValid(state: string): boolean;
|
|
246
|
+
/**
|
|
247
|
+
* Get valid next states from current state
|
|
248
|
+
*
|
|
249
|
+
* SECURITY FIX (CRITICAL-1): Must match ACTPKernel contract state machine exactly
|
|
250
|
+
* Per CLAUDE.md §Architecture Overview - ACTP Protocol State Machine
|
|
251
|
+
*
|
|
252
|
+
* @param currentState - Current state
|
|
253
|
+
* @returns Array of valid next states
|
|
254
|
+
*/
|
|
255
|
+
validTransitions(currentState: string): string[];
|
|
256
|
+
/**
|
|
257
|
+
* Check if transition is valid
|
|
258
|
+
*
|
|
259
|
+
* @param from - Current state
|
|
260
|
+
* @param to - Target state
|
|
261
|
+
* @returns true if transition is valid
|
|
262
|
+
*/
|
|
263
|
+
canTransition(from: string, to: string): boolean;
|
|
264
|
+
};
|
|
265
|
+
/**
|
|
266
|
+
* Dispute window utilities
|
|
267
|
+
*/
|
|
268
|
+
export declare const DisputeWindow: {
|
|
269
|
+
/**
|
|
270
|
+
* Default dispute window in seconds (2 days)
|
|
271
|
+
*/
|
|
272
|
+
DEFAULT: number;
|
|
273
|
+
/**
|
|
274
|
+
* Minimum dispute window in seconds (1 hour)
|
|
275
|
+
*/
|
|
276
|
+
MIN: number;
|
|
277
|
+
/**
|
|
278
|
+
* Maximum dispute window in seconds (30 days)
|
|
279
|
+
*/
|
|
280
|
+
MAX: number;
|
|
281
|
+
/**
|
|
282
|
+
* Convert hours to seconds
|
|
283
|
+
*/
|
|
284
|
+
hours(h: number): number;
|
|
285
|
+
/**
|
|
286
|
+
* Convert days to seconds
|
|
287
|
+
*/
|
|
288
|
+
days(d: number): number;
|
|
289
|
+
/**
|
|
290
|
+
* Check if dispute window is still active
|
|
291
|
+
*
|
|
292
|
+
* @param completedAt - Completion timestamp
|
|
293
|
+
* @param windowSeconds - Dispute window in seconds
|
|
294
|
+
* @returns true if window is still active
|
|
295
|
+
*/
|
|
296
|
+
isActive(completedAt: number, windowSeconds: number): boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Get time remaining in dispute window
|
|
299
|
+
*
|
|
300
|
+
* @param completedAt - Completion timestamp
|
|
301
|
+
* @param windowSeconds - Dispute window in seconds
|
|
302
|
+
* @returns Seconds remaining (0 if expired)
|
|
303
|
+
*/
|
|
304
|
+
remaining(completedAt: number, windowSeconds: number): number;
|
|
305
|
+
};
|
|
306
|
+
/**
|
|
307
|
+
* ============================================================================
|
|
308
|
+
* Convenience Wrappers for Common Operations
|
|
309
|
+
* ============================================================================
|
|
310
|
+
*/
|
|
311
|
+
/**
|
|
312
|
+
* Parse USDC amount string to wei (6 decimals)
|
|
313
|
+
*
|
|
314
|
+
* Convenience wrapper for USDC.toWei()
|
|
315
|
+
*
|
|
316
|
+
* @param amount - Amount in USDC (e.g., "100" or "0.50")
|
|
317
|
+
* @returns BigInt in wei (e.g., 100000000n for $100)
|
|
318
|
+
*
|
|
319
|
+
* @example
|
|
320
|
+
* ```typescript
|
|
321
|
+
* parseUSDC("100") // 100_000_000n
|
|
322
|
+
* parseUSDC("0.50") // 500_000n
|
|
323
|
+
* parseUSDC(100) // 100_000_000n
|
|
324
|
+
* ```
|
|
325
|
+
*/
|
|
326
|
+
export declare function parseUSDC(amount: string | number): bigint;
|
|
327
|
+
/**
|
|
328
|
+
* Format USDC wei to human-readable string
|
|
329
|
+
*
|
|
330
|
+
* Convenience wrapper for USDC.fromWei()
|
|
331
|
+
*
|
|
332
|
+
* @param wei - Amount in wei (BigInt or string)
|
|
333
|
+
* @returns Formatted string (e.g., "100.00")
|
|
334
|
+
*
|
|
335
|
+
* @example
|
|
336
|
+
* ```typescript
|
|
337
|
+
* formatUSDC(100_000_000n) // "100.00"
|
|
338
|
+
* formatUSDC("100000000") // "100.00"
|
|
339
|
+
* formatUSDC(500_000n) // "0.50"
|
|
340
|
+
* ```
|
|
341
|
+
*/
|
|
342
|
+
export declare function formatUSDC(wei: bigint | string): string;
|
|
343
|
+
/**
|
|
344
|
+
* Shorten Ethereum address for display
|
|
345
|
+
*
|
|
346
|
+
* Convenience wrapper for Address.truncate()
|
|
347
|
+
*
|
|
348
|
+
* @param address - Full Ethereum address
|
|
349
|
+
* @param chars - Characters to show on each side (default: 4)
|
|
350
|
+
* @returns Shortened address (e.g., "0x1234...abcd")
|
|
351
|
+
*
|
|
352
|
+
* @example
|
|
353
|
+
* ```typescript
|
|
354
|
+
* shortenAddress("0x1234567890123456789012345678901234567890") // "0x1234...7890"
|
|
355
|
+
* shortenAddress("0x1234567890123456789012345678901234567890", 6) // "0x123456...567890"
|
|
356
|
+
* ```
|
|
357
|
+
*/
|
|
358
|
+
export declare function shortenAddress(address: string, chars?: number): string;
|
|
359
|
+
/**
|
|
360
|
+
* ============================================================================
|
|
361
|
+
* Service Metadata Utilities
|
|
362
|
+
*
|
|
363
|
+
* SECURITY FIX (CRITICAL): ACTPKernel expects bytes32 serviceHash, not raw strings.
|
|
364
|
+
* These utilities handle proper hashing and encoding of service metadata.
|
|
365
|
+
* ============================================================================
|
|
366
|
+
*/
|
|
367
|
+
/**
|
|
368
|
+
* Service metadata structure
|
|
369
|
+
*/
|
|
370
|
+
export interface ServiceMetadata {
|
|
371
|
+
service: string;
|
|
372
|
+
input?: unknown;
|
|
373
|
+
version?: string;
|
|
374
|
+
timestamp?: number;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Service metadata utilities for ACTP transactions
|
|
378
|
+
*
|
|
379
|
+
* SECURITY FIX (CRITICAL): The ACTPKernel contract expects a bytes32 serviceHash,
|
|
380
|
+
* not a raw JSON string. This utility properly hashes metadata before on-chain calls.
|
|
381
|
+
*/
|
|
382
|
+
export declare const ServiceHash: {
|
|
383
|
+
/**
|
|
384
|
+
* Create canonical JSON from service metadata
|
|
385
|
+
*
|
|
386
|
+
* SECURITY: Uses deterministic key ordering to ensure consistent hashes
|
|
387
|
+
*
|
|
388
|
+
* @param metadata - Service metadata object
|
|
389
|
+
* @returns Canonical JSON string
|
|
390
|
+
*/
|
|
391
|
+
toCanonical(metadata: ServiceMetadata): string;
|
|
392
|
+
/**
|
|
393
|
+
* Hash service metadata to bytes32 using keccak256
|
|
394
|
+
*
|
|
395
|
+
* SECURITY FIX (CRITICAL): This is what should be passed to ACTPKernel.createTransaction()
|
|
396
|
+
*
|
|
397
|
+
* @param metadata - Service metadata (string or object)
|
|
398
|
+
* @returns bytes32 hash string (0x-prefixed, 64 hex chars)
|
|
399
|
+
*
|
|
400
|
+
* @example
|
|
401
|
+
* ```typescript
|
|
402
|
+
* const hash = ServiceHash.hash({ service: 'echo', input: 'hello' });
|
|
403
|
+
* // Returns: 0x1234...abcd (bytes32)
|
|
404
|
+
* ```
|
|
405
|
+
*/
|
|
406
|
+
hash(metadata: ServiceMetadata | string): string;
|
|
407
|
+
/**
|
|
408
|
+
* Create service metadata from legacy format
|
|
409
|
+
*
|
|
410
|
+
* Parses the old "service:X;input:Y" format into structured metadata
|
|
411
|
+
*
|
|
412
|
+
* @param legacyFormat - Legacy service description string
|
|
413
|
+
* @returns Parsed ServiceMetadata or null if invalid
|
|
414
|
+
*/
|
|
415
|
+
fromLegacy(legacyFormat: string): ServiceMetadata | null;
|
|
416
|
+
/**
|
|
417
|
+
* Extract service name from metadata hash (requires off-chain lookup)
|
|
418
|
+
*
|
|
419
|
+
* NOTE: The hash cannot be reversed. This is a helper for when you have
|
|
420
|
+
* both the hash and the original metadata stored off-chain.
|
|
421
|
+
*
|
|
422
|
+
* @param metadata - Original metadata
|
|
423
|
+
* @returns Service name
|
|
424
|
+
*/
|
|
425
|
+
getServiceName(metadata: ServiceMetadata | string): string;
|
|
426
|
+
/**
|
|
427
|
+
* Validate bytes32 format
|
|
428
|
+
*
|
|
429
|
+
* @param value - Value to check
|
|
430
|
+
* @returns true if valid bytes32 format
|
|
431
|
+
*/
|
|
432
|
+
isValidHash(value: string): boolean;
|
|
433
|
+
/**
|
|
434
|
+
* Zero hash (empty service metadata)
|
|
435
|
+
*/
|
|
436
|
+
ZERO: string;
|
|
437
|
+
};
|
|
438
|
+
/**
|
|
439
|
+
* Hash service description for on-chain storage
|
|
440
|
+
*
|
|
441
|
+
* Convenience function for ServiceHash.hash()
|
|
442
|
+
*
|
|
443
|
+
* @param service - Service name
|
|
444
|
+
* @param input - Input data (optional)
|
|
445
|
+
* @returns bytes32 hash
|
|
446
|
+
*
|
|
447
|
+
* @example
|
|
448
|
+
* ```typescript
|
|
449
|
+
* const hash = hashServiceMetadata('echo', { text: 'hello' });
|
|
450
|
+
* ```
|
|
451
|
+
*/
|
|
452
|
+
export declare function hashServiceMetadata(service: string, input?: unknown): string;
|
|
453
|
+
//# sourceMappingURL=Helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Helpers.d.ts","sourceRoot":"","sources":["../../src/utils/Helpers.ts"],"names":[],"mappings":"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"}
|