@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,289 @@
|
|
|
1
|
+
import { Signer } from 'ethers';
|
|
2
|
+
import { DelegateType, AttributeName, DIDOwnerChangedEvent, DIDDelegateChangedEvent, DIDAttributeChangedEvent } from '../types/did';
|
|
3
|
+
/**
|
|
4
|
+
* Gas options for transactions
|
|
5
|
+
*/
|
|
6
|
+
interface GasOptions {
|
|
7
|
+
maxFeePerGas?: bigint;
|
|
8
|
+
maxPriorityFeePerGas?: bigint;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* DIDManager - Manage DID attributes and delegates (AIP-7 §2.2)
|
|
12
|
+
*
|
|
13
|
+
* Interacts with ERC-1056 compatible AGIRAILS Identity Registry.
|
|
14
|
+
* Provides key rotation, delegate management, and attribute storage.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const manager = new DIDManager(registryAddress, signer);
|
|
19
|
+
*
|
|
20
|
+
* // Get identity owner
|
|
21
|
+
* const owner = await manager.getOwner(myAddress);
|
|
22
|
+
*
|
|
23
|
+
* // Add delegate (expires in 1 year)
|
|
24
|
+
* await manager.addDelegate(
|
|
25
|
+
* DelegateType.SIGNING,
|
|
26
|
+
* delegateAddress,
|
|
27
|
+
* 365 * 24 * 60 * 60
|
|
28
|
+
* );
|
|
29
|
+
*
|
|
30
|
+
* // Set service endpoint
|
|
31
|
+
* await manager.setAttribute(
|
|
32
|
+
* AttributeName.SERVICE_ENDPOINT,
|
|
33
|
+
* 'https://api.example.com',
|
|
34
|
+
* 365 * 24 * 60 * 60
|
|
35
|
+
* );
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @security
|
|
39
|
+
* - Only identity owner can add/revoke delegates
|
|
40
|
+
* - Only identity owner can set/revoke attributes
|
|
41
|
+
* - All operations wait for 2 confirmations
|
|
42
|
+
* - Gas limits include 20% safety buffer
|
|
43
|
+
*/
|
|
44
|
+
export declare class DIDManager {
|
|
45
|
+
private readonly registryAddress;
|
|
46
|
+
private contract;
|
|
47
|
+
private readonly gasSettings?;
|
|
48
|
+
/**
|
|
49
|
+
* Create DIDManager instance
|
|
50
|
+
*
|
|
51
|
+
* @param registryAddress - Address of AGIRAILS Identity Registry (ERC-1056)
|
|
52
|
+
* @param signer - Ethers.js signer (must be identity owner for write operations)
|
|
53
|
+
* @param gasSettings - Optional gas price settings
|
|
54
|
+
*/
|
|
55
|
+
constructor(registryAddress: string, signer: Signer, gasSettings?: GasOptions);
|
|
56
|
+
/**
|
|
57
|
+
* Get gas buffer multiplier based on operation complexity
|
|
58
|
+
*/
|
|
59
|
+
private getGasBufferMultiplier;
|
|
60
|
+
/**
|
|
61
|
+
* Build transaction options with gas settings
|
|
62
|
+
*/
|
|
63
|
+
private buildTxOptions;
|
|
64
|
+
/**
|
|
65
|
+
* Get registry contract address
|
|
66
|
+
*/
|
|
67
|
+
getAddress(): string;
|
|
68
|
+
/**
|
|
69
|
+
* Get identity owner
|
|
70
|
+
*
|
|
71
|
+
* @param identity - Address to check (if not provided, uses signer address)
|
|
72
|
+
* @returns Current owner address
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const owner = await manager.getOwner('0x742d35cc6634c0532925a3b844bc9e7595f0beb');
|
|
77
|
+
* console.log('Identity owner:', owner);
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
getOwner(identity?: string): Promise<string>;
|
|
81
|
+
/**
|
|
82
|
+
* Change identity owner (key rotation)
|
|
83
|
+
*
|
|
84
|
+
* @param identity - Identity address to update
|
|
85
|
+
* @param newOwner - New owner address
|
|
86
|
+
* @returns Transaction hash
|
|
87
|
+
* @throws TransactionRevertedError if transaction fails
|
|
88
|
+
*
|
|
89
|
+
* @security
|
|
90
|
+
* - Only current owner can change ownership
|
|
91
|
+
* - Waits for 2 confirmations
|
|
92
|
+
* - Validates new owner address
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* // Rotate key to new address
|
|
97
|
+
* const txHash = await manager.changeOwner(
|
|
98
|
+
* '0x742d35cc6634c0532925a3b844bc9e7595f0beb',
|
|
99
|
+
* '0xNewOwnerAddress...'
|
|
100
|
+
* );
|
|
101
|
+
* console.log('Ownership transferred:', txHash);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
changeOwner(identity: string, newOwner: string): Promise<string>;
|
|
105
|
+
/**
|
|
106
|
+
* Check if delegate is valid
|
|
107
|
+
*
|
|
108
|
+
* @param identity - Identity address
|
|
109
|
+
* @param delegateType - Type of delegate (e.g., DelegateType.SIGNING)
|
|
110
|
+
* @param delegate - Delegate address
|
|
111
|
+
* @returns True if delegate is currently valid
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const isValid = await manager.validDelegate(
|
|
116
|
+
* '0x742d35cc...',
|
|
117
|
+
* DelegateType.SIGNING,
|
|
118
|
+
* '0xDelegateAddress...'
|
|
119
|
+
* );
|
|
120
|
+
* console.log('Delegate valid:', isValid);
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
validDelegate(identity: string, delegateType: DelegateType | string, delegate: string): Promise<boolean>;
|
|
124
|
+
/**
|
|
125
|
+
* Add delegate (for signing on behalf of identity)
|
|
126
|
+
*
|
|
127
|
+
* @param identity - Identity address
|
|
128
|
+
* @param delegateType - Type of delegate (e.g., DelegateType.SIGNING)
|
|
129
|
+
* @param delegate - Delegate address
|
|
130
|
+
* @param validity - Validity period in seconds
|
|
131
|
+
* @returns Transaction hash
|
|
132
|
+
* @throws TransactionRevertedError if transaction fails
|
|
133
|
+
*
|
|
134
|
+
* @security
|
|
135
|
+
* - Only identity owner can add delegates
|
|
136
|
+
* - Delegate expires after validity period
|
|
137
|
+
* - Waits for 2 confirmations
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* // Add signing delegate for 1 year
|
|
142
|
+
* const txHash = await manager.addDelegate(
|
|
143
|
+
* '0x742d35cc...',
|
|
144
|
+
* DelegateType.SIGNING,
|
|
145
|
+
* '0xDelegateAddress...',
|
|
146
|
+
* 365 * 24 * 60 * 60 // 1 year in seconds
|
|
147
|
+
* );
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
addDelegate(identity: string, delegateType: DelegateType | string, delegate: string, validity: number): Promise<string>;
|
|
151
|
+
/**
|
|
152
|
+
* Revoke delegate
|
|
153
|
+
*
|
|
154
|
+
* @param identity - Identity address
|
|
155
|
+
* @param delegateType - Type of delegate
|
|
156
|
+
* @param delegate - Delegate address to revoke
|
|
157
|
+
* @returns Transaction hash
|
|
158
|
+
* @throws TransactionRevertedError if transaction fails
|
|
159
|
+
*
|
|
160
|
+
* @security
|
|
161
|
+
* - Only identity owner can revoke delegates
|
|
162
|
+
* - Waits for 2 confirmations
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* const txHash = await manager.revokeDelegate(
|
|
167
|
+
* '0x742d35cc...',
|
|
168
|
+
* DelegateType.SIGNING,
|
|
169
|
+
* '0xDelegateAddress...'
|
|
170
|
+
* );
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
revokeDelegate(identity: string, delegateType: DelegateType | string, delegate: string): Promise<string>;
|
|
174
|
+
/**
|
|
175
|
+
* Set attribute (e.g., service endpoint)
|
|
176
|
+
*
|
|
177
|
+
* @param identity - Identity address
|
|
178
|
+
* @param name - Attribute name (e.g., AttributeName.SERVICE_ENDPOINT)
|
|
179
|
+
* @param value - Attribute value (string, will be encoded to bytes)
|
|
180
|
+
* @param validity - Validity period in seconds
|
|
181
|
+
* @returns Transaction hash
|
|
182
|
+
* @throws TransactionRevertedError if transaction fails
|
|
183
|
+
*
|
|
184
|
+
* @security
|
|
185
|
+
* - Only identity owner can set attributes
|
|
186
|
+
* - Attribute expires after validity period
|
|
187
|
+
* - Waits for 2 confirmations
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typescript
|
|
191
|
+
* // Set service endpoint for 1 year
|
|
192
|
+
* const txHash = await manager.setAttribute(
|
|
193
|
+
* '0x742d35cc...',
|
|
194
|
+
* AttributeName.SERVICE_ENDPOINT,
|
|
195
|
+
* 'https://api.example.com/v1',
|
|
196
|
+
* 365 * 24 * 60 * 60
|
|
197
|
+
* );
|
|
198
|
+
* ```
|
|
199
|
+
*/
|
|
200
|
+
setAttribute(identity: string, name: AttributeName | string, value: string, validity: number): Promise<string>;
|
|
201
|
+
/**
|
|
202
|
+
* Revoke attribute
|
|
203
|
+
*
|
|
204
|
+
* @param identity - Identity address
|
|
205
|
+
* @param name - Attribute name to revoke
|
|
206
|
+
* @param value - Attribute value (must match value set)
|
|
207
|
+
* @returns Transaction hash
|
|
208
|
+
* @throws TransactionRevertedError if transaction fails
|
|
209
|
+
*
|
|
210
|
+
* @security
|
|
211
|
+
* - Only identity owner can revoke attributes
|
|
212
|
+
* - Waits for 2 confirmations
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```typescript
|
|
216
|
+
* const txHash = await manager.revokeAttribute(
|
|
217
|
+
* '0x742d35cc...',
|
|
218
|
+
* AttributeName.SERVICE_ENDPOINT,
|
|
219
|
+
* 'https://api.example.com/v1'
|
|
220
|
+
* );
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
revokeAttribute(identity: string, name: AttributeName | string, value: string): Promise<string>;
|
|
224
|
+
/**
|
|
225
|
+
* Get timestamp of last change for identity
|
|
226
|
+
*
|
|
227
|
+
* @param identity - Identity address
|
|
228
|
+
* @returns Timestamp of last change (seconds since Unix epoch)
|
|
229
|
+
*/
|
|
230
|
+
getChanged(identity: string): Promise<bigint>;
|
|
231
|
+
/**
|
|
232
|
+
* Get nonce for identity (for signed operations)
|
|
233
|
+
*
|
|
234
|
+
* @param identity - Identity address
|
|
235
|
+
* @returns Current nonce
|
|
236
|
+
*/
|
|
237
|
+
getNonce(identity: string): Promise<bigint>;
|
|
238
|
+
/**
|
|
239
|
+
* Convert string to bytes32 hash
|
|
240
|
+
*
|
|
241
|
+
* Used for delegate types and attribute names in ERC-1056
|
|
242
|
+
*
|
|
243
|
+
* @param str - String to convert
|
|
244
|
+
* @returns bytes32 hash (0x-prefixed hex string)
|
|
245
|
+
*
|
|
246
|
+
* @example
|
|
247
|
+
* ```typescript
|
|
248
|
+
* const hash = manager.stringToBytes32('veriKey');
|
|
249
|
+
* // Returns: '0x...' (keccak256 hash)
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
stringToBytes32(str: string): string;
|
|
253
|
+
/**
|
|
254
|
+
* Listen for DIDOwnerChanged events
|
|
255
|
+
*
|
|
256
|
+
* @param callback - Function to call when owner changes
|
|
257
|
+
* @param identity - Optional filter by identity address
|
|
258
|
+
* @returns Cleanup function to stop listening
|
|
259
|
+
*
|
|
260
|
+
* @example
|
|
261
|
+
* ```typescript
|
|
262
|
+
* const unsubscribe = manager.onOwnerChanged((event) => {
|
|
263
|
+
* console.log('Owner changed:', event);
|
|
264
|
+
* }, '0x742d35cc...');
|
|
265
|
+
*
|
|
266
|
+
* // Later: stop listening
|
|
267
|
+
* unsubscribe();
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
onOwnerChanged(callback: (event: DIDOwnerChangedEvent) => void, identity?: string): () => void;
|
|
271
|
+
/**
|
|
272
|
+
* Listen for DIDDelegateChanged events
|
|
273
|
+
*
|
|
274
|
+
* @param callback - Function to call when delegate changes
|
|
275
|
+
* @param identity - Optional filter by identity address
|
|
276
|
+
* @returns Cleanup function to stop listening
|
|
277
|
+
*/
|
|
278
|
+
onDelegateChanged(callback: (event: DIDDelegateChangedEvent) => void, identity?: string): () => void;
|
|
279
|
+
/**
|
|
280
|
+
* Listen for DIDAttributeChanged events
|
|
281
|
+
*
|
|
282
|
+
* @param callback - Function to call when attribute changes
|
|
283
|
+
* @param identity - Optional filter by identity address
|
|
284
|
+
* @returns Cleanup function to stop listening
|
|
285
|
+
*/
|
|
286
|
+
onAttributeChanged(callback: (event: DIDAttributeChangedEvent) => void, identity?: string): () => void;
|
|
287
|
+
}
|
|
288
|
+
export {};
|
|
289
|
+
//# sourceMappingURL=DIDManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DIDManager.d.ts","sourceRoot":"","sources":["../../src/protocol/DIDManager.ts"],"names":[],"mappings":"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"}
|