@agenticprimitives/contracts 0.1.0-alpha.3 → 1.0.0-alpha.11

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.
Files changed (73) hide show
  1. package/AUDIT.md +324 -47
  2. package/README.md +45 -10
  3. package/deployments-base-sepolia.json +36 -0
  4. package/deployments-registries-base-sepolia.json +1 -0
  5. package/dist/abi/AgentAccount.json +1670 -0
  6. package/dist/abi/AgentAccountFactory.json +477 -0
  7. package/dist/abi/AgentNameRegistry.json +51 -0
  8. package/dist/abi/AgenticGovernance.json +32 -0
  9. package/dist/abi/AgreementRegistry.json +427 -0
  10. package/dist/abi/AttestationRegistry.json +436 -0
  11. package/dist/abi/CallDataHashEnforcer.json +119 -0
  12. package/dist/abi/CustodyPolicy.json +1122 -0
  13. package/dist/abi/DelegationManager.json +645 -0
  14. package/dist/abi/GeoFeatureRegistry.json +625 -0
  15. package/dist/abi/IAgentAccount.json +262 -0
  16. package/dist/abi/IAgentAccountFactoryAccessor.json +15 -0
  17. package/dist/abi/IAgentAccountFactoryView.json +41 -0
  18. package/dist/abi/IAgentAccountPauseView.json +15 -0
  19. package/dist/abi/IAgenticPrimitivesAgentAccount.json +15 -0
  20. package/dist/abi/IApprovedHashRegistryView.json +26 -0
  21. package/dist/abi/ICustodyPolicyFactoryView.json +15 -0
  22. package/dist/abi/ICustodyPolicyPauseView.json +15 -0
  23. package/dist/abi/IDelegationManager.json +171 -0
  24. package/dist/abi/IERC7579HookLike.json +44 -0
  25. package/dist/abi/IERC7579ModuleLike.json +28 -0
  26. package/dist/abi/IPaymentReceiptRegistry.json +50 -0
  27. package/dist/abi/MockUSDC.json +621 -0
  28. package/dist/abi/PaymentEnforcer.json +407 -0
  29. package/dist/abi/PaymentEscrow.json +299 -0
  30. package/dist/abi/PaymentReceiptRegistry.json +182 -0
  31. package/dist/abi/PermissionlessSubregistry.json +5 -0
  32. package/dist/abi/QuorumEnforcer.json +311 -0
  33. package/dist/abi/SignatureSlotRecovery.json +88 -0
  34. package/dist/abi/SkillDefinitionRegistry.json +491 -0
  35. package/dist/abi/SmartAgentPaymaster.json +873 -0
  36. package/dist/abi/UniversalSignatureValidator.json +65 -0
  37. package/dist/abi/index.d.ts +28 -0
  38. package/dist/abi/index.js +28 -0
  39. package/dist/deployments/base-sepolia.d.ts +41 -0
  40. package/dist/deployments/base-sepolia.js +39 -0
  41. package/dist/deployments/index.d.ts +9 -0
  42. package/dist/deployments/index.js +16 -0
  43. package/dist/deployments/registries-base-sepolia.d.ts +9 -0
  44. package/dist/deployments/registries-base-sepolia.js +7 -0
  45. package/package.json +24 -3
  46. package/src/AgentAccount.sol +191 -11
  47. package/src/AgentAccountFactory.sol +66 -12
  48. package/src/SmartAgentPaymaster.sol +186 -20
  49. package/src/UniversalSignatureValidator.sol +3 -0
  50. package/src/agency/DelegationManager.sol +170 -0
  51. package/src/agency/IDelegationManager.sol +38 -0
  52. package/src/agreement/AgreementRegistry.sol +331 -0
  53. package/src/attestation/AttestationRegistry.sol +384 -0
  54. package/src/custody/CustodyPolicy.sol +138 -8
  55. package/src/enforcers/AllowedMethodsEnforcer.sol +6 -0
  56. package/src/enforcers/AllowedTargetsEnforcer.sol +6 -0
  57. package/src/enforcers/CallDataHashEnforcer.sol +61 -0
  58. package/src/enforcers/PaymentEnforcer.sol +194 -0
  59. package/src/enforcers/QuorumEnforcer.sol +20 -0
  60. package/src/enforcers/TimestampEnforcer.sol +7 -0
  61. package/src/enforcers/ValueEnforcer.sol +6 -0
  62. package/src/geo/GeoFeatureRegistry.sol +197 -0
  63. package/src/governance/AgenticGovernance.sol +26 -4
  64. package/src/libraries/SignatureSlotRecovery.sol +8 -3
  65. package/src/libraries/WebAuthnLib.sol +13 -0
  66. package/src/mocks/MockUSDC.sol +152 -0
  67. package/src/naming/AgentNameRegistry.sol +52 -15
  68. package/src/naming/AgentNameUniversalResolver.sol +1 -1
  69. package/src/naming/PermissionlessSubregistry.sol +19 -2
  70. package/src/payments/PaymentEscrow.sol +137 -0
  71. package/src/payments/PaymentReceiptRegistry.sol +67 -0
  72. package/src/relationships/AgentRelationship.sol +8 -0
  73. package/src/skills/SkillDefinitionRegistry.sol +187 -0
@@ -0,0 +1,65 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "isValidSig",
5
+ "inputs": [
6
+ {
7
+ "name": "signer",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ },
11
+ {
12
+ "name": "hash",
13
+ "type": "bytes32",
14
+ "internalType": "bytes32"
15
+ },
16
+ {
17
+ "name": "sig",
18
+ "type": "bytes",
19
+ "internalType": "bytes"
20
+ }
21
+ ],
22
+ "outputs": [
23
+ {
24
+ "name": "",
25
+ "type": "bool",
26
+ "internalType": "bool"
27
+ }
28
+ ],
29
+ "stateMutability": "nonpayable"
30
+ },
31
+ {
32
+ "type": "function",
33
+ "name": "isValidSigView",
34
+ "inputs": [
35
+ {
36
+ "name": "signer",
37
+ "type": "address",
38
+ "internalType": "address"
39
+ },
40
+ {
41
+ "name": "hash",
42
+ "type": "bytes32",
43
+ "internalType": "bytes32"
44
+ },
45
+ {
46
+ "name": "sig",
47
+ "type": "bytes",
48
+ "internalType": "bytes"
49
+ }
50
+ ],
51
+ "outputs": [
52
+ {
53
+ "name": "",
54
+ "type": "bool",
55
+ "internalType": "bool"
56
+ }
57
+ ],
58
+ "stateMutability": "view"
59
+ },
60
+ {
61
+ "type": "error",
62
+ "name": "DeployFailed",
63
+ "inputs": []
64
+ }
65
+ ]
@@ -1,6 +1,8 @@
1
1
  // Generated by scripts/build-abi.mjs — do not edit by hand.
2
2
  import type { Abi } from 'viem';
3
3
 
4
+ export declare const AgentAccount: Abi;
5
+ export declare const AgentAccountFactory: Abi;
4
6
  export declare const AgenticGovernance: Abi;
5
7
  export declare const AgentNameAttributeResolver: Abi;
6
8
  export declare const AgentNamePredicates: Abi;
@@ -10,26 +12,52 @@ export declare const AgentProfilePredicates: Abi;
10
12
  export declare const AgentProfileResolver: Abi;
11
13
  export declare const AgentRelationship: Abi;
12
14
  export declare const AgentRelationshipPredicates: Abi;
15
+ export declare const AgreementRegistry: Abi;
13
16
  export declare const AllowedMethodsEnforcer: Abi;
14
17
  export declare const AllowedTargetsEnforcer: Abi;
15
18
  export declare const ApprovedHashRegistry: Abi;
19
+ export declare const AttestationRegistry: Abi;
16
20
  export declare const AttributeStorage: Abi;
21
+ export declare const CallDataHashEnforcer: Abi;
17
22
  export declare const CaveatEnforcerBase: Abi;
23
+ export declare const CustodyPolicy: Abi;
24
+ export declare const DelegationManager: Abi;
25
+ export declare const GeoFeatureRegistry: Abi;
18
26
  export declare const GovernanceManaged: Abi;
27
+ export declare const IAgentAccount: Abi;
28
+ export declare const IAgentAccountFactoryAccessor: Abi;
29
+ export declare const IAgentAccountFactoryView: Abi;
30
+ export declare const IAgentAccountPauseView: Abi;
31
+ export declare const IAgenticPrimitivesAgentAccount: Abi;
32
+ export declare const IApprovedHashRegistryView: Abi;
19
33
  export declare const IAttributeReader: Abi;
20
34
  export declare const ICaveatEnforcer: Abi;
35
+ export declare const ICustodyPolicyFactoryView: Abi;
36
+ export declare const ICustodyPolicyPauseView: Abi;
21
37
  export declare const IDelegationManager: Abi;
38
+ export declare const IERC7579HookLike: Abi;
22
39
  export declare const IERC7579Module: Abi;
23
40
  export declare const IERC7579ModuleLifecycle: Abi;
41
+ export declare const IERC7579ModuleLike: Abi;
24
42
  export declare const IGovernanceView: Abi;
43
+ export declare const IPaymentReceiptRegistry: Abi;
44
+ export declare const MockUSDC: Abi;
25
45
  export declare const MultiSendCallOnly: Abi;
26
46
  export declare const MultiSendCallOnlyHarness: Abi;
27
47
  export declare const OntologyTermRegistry: Abi;
28
48
  export declare const P256Verifier: Abi;
49
+ export declare const PaymentEnforcer: Abi;
50
+ export declare const PaymentEscrow: Abi;
51
+ export declare const PaymentReceiptRegistry: Abi;
29
52
  export declare const PermissionlessSubregistry: Abi;
53
+ export declare const QuorumEnforcer: Abi;
30
54
  export declare const RelationshipTypeRegistry: Abi;
31
55
  export declare const ShapeRegistry: Abi;
56
+ export declare const SignatureSlotRecovery: Abi;
57
+ export declare const SkillDefinitionRegistry: Abi;
32
58
  export declare const SmartAgentModuleTypes: Abi;
59
+ export declare const SmartAgentPaymaster: Abi;
33
60
  export declare const TimestampEnforcer: Abi;
61
+ export declare const UniversalSignatureValidator: Abi;
34
62
  export declare const ValueEnforcer: Abi;
35
63
  export declare const WebAuthnLib: Abi;
package/dist/abi/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  // Generated by scripts/build-abi.mjs — do not edit by hand.
2
2
  // Each export is a viem-compatible ABI array.
3
3
 
4
+ export { default as AgentAccount } from './AgentAccount.json' with { type: 'json' };
5
+ export { default as AgentAccountFactory } from './AgentAccountFactory.json' with { type: 'json' };
4
6
  export { default as AgenticGovernance } from './AgenticGovernance.json' with { type: 'json' };
5
7
  export { default as AgentNameAttributeResolver } from './AgentNameAttributeResolver.json' with { type: 'json' };
6
8
  export { default as AgentNamePredicates } from './AgentNamePredicates.json' with { type: 'json' };
@@ -10,26 +12,52 @@ export { default as AgentProfilePredicates } from './AgentProfilePredicates.json
10
12
  export { default as AgentProfileResolver } from './AgentProfileResolver.json' with { type: 'json' };
11
13
  export { default as AgentRelationship } from './AgentRelationship.json' with { type: 'json' };
12
14
  export { default as AgentRelationshipPredicates } from './AgentRelationshipPredicates.json' with { type: 'json' };
15
+ export { default as AgreementRegistry } from './AgreementRegistry.json' with { type: 'json' };
13
16
  export { default as AllowedMethodsEnforcer } from './AllowedMethodsEnforcer.json' with { type: 'json' };
14
17
  export { default as AllowedTargetsEnforcer } from './AllowedTargetsEnforcer.json' with { type: 'json' };
15
18
  export { default as ApprovedHashRegistry } from './ApprovedHashRegistry.json' with { type: 'json' };
19
+ export { default as AttestationRegistry } from './AttestationRegistry.json' with { type: 'json' };
16
20
  export { default as AttributeStorage } from './AttributeStorage.json' with { type: 'json' };
21
+ export { default as CallDataHashEnforcer } from './CallDataHashEnforcer.json' with { type: 'json' };
17
22
  export { default as CaveatEnforcerBase } from './CaveatEnforcerBase.json' with { type: 'json' };
23
+ export { default as CustodyPolicy } from './CustodyPolicy.json' with { type: 'json' };
24
+ export { default as DelegationManager } from './DelegationManager.json' with { type: 'json' };
25
+ export { default as GeoFeatureRegistry } from './GeoFeatureRegistry.json' with { type: 'json' };
18
26
  export { default as GovernanceManaged } from './GovernanceManaged.json' with { type: 'json' };
27
+ export { default as IAgentAccount } from './IAgentAccount.json' with { type: 'json' };
28
+ export { default as IAgentAccountFactoryAccessor } from './IAgentAccountFactoryAccessor.json' with { type: 'json' };
29
+ export { default as IAgentAccountFactoryView } from './IAgentAccountFactoryView.json' with { type: 'json' };
30
+ export { default as IAgentAccountPauseView } from './IAgentAccountPauseView.json' with { type: 'json' };
31
+ export { default as IAgenticPrimitivesAgentAccount } from './IAgenticPrimitivesAgentAccount.json' with { type: 'json' };
32
+ export { default as IApprovedHashRegistryView } from './IApprovedHashRegistryView.json' with { type: 'json' };
19
33
  export { default as IAttributeReader } from './IAttributeReader.json' with { type: 'json' };
20
34
  export { default as ICaveatEnforcer } from './ICaveatEnforcer.json' with { type: 'json' };
35
+ export { default as ICustodyPolicyFactoryView } from './ICustodyPolicyFactoryView.json' with { type: 'json' };
36
+ export { default as ICustodyPolicyPauseView } from './ICustodyPolicyPauseView.json' with { type: 'json' };
21
37
  export { default as IDelegationManager } from './IDelegationManager.json' with { type: 'json' };
38
+ export { default as IERC7579HookLike } from './IERC7579HookLike.json' with { type: 'json' };
22
39
  export { default as IERC7579Module } from './IERC7579Module.json' with { type: 'json' };
23
40
  export { default as IERC7579ModuleLifecycle } from './IERC7579ModuleLifecycle.json' with { type: 'json' };
41
+ export { default as IERC7579ModuleLike } from './IERC7579ModuleLike.json' with { type: 'json' };
24
42
  export { default as IGovernanceView } from './IGovernanceView.json' with { type: 'json' };
43
+ export { default as IPaymentReceiptRegistry } from './IPaymentReceiptRegistry.json' with { type: 'json' };
44
+ export { default as MockUSDC } from './MockUSDC.json' with { type: 'json' };
25
45
  export { default as MultiSendCallOnly } from './MultiSendCallOnly.json' with { type: 'json' };
26
46
  export { default as MultiSendCallOnlyHarness } from './MultiSendCallOnlyHarness.json' with { type: 'json' };
27
47
  export { default as OntologyTermRegistry } from './OntologyTermRegistry.json' with { type: 'json' };
28
48
  export { default as P256Verifier } from './P256Verifier.json' with { type: 'json' };
49
+ export { default as PaymentEnforcer } from './PaymentEnforcer.json' with { type: 'json' };
50
+ export { default as PaymentEscrow } from './PaymentEscrow.json' with { type: 'json' };
51
+ export { default as PaymentReceiptRegistry } from './PaymentReceiptRegistry.json' with { type: 'json' };
29
52
  export { default as PermissionlessSubregistry } from './PermissionlessSubregistry.json' with { type: 'json' };
53
+ export { default as QuorumEnforcer } from './QuorumEnforcer.json' with { type: 'json' };
30
54
  export { default as RelationshipTypeRegistry } from './RelationshipTypeRegistry.json' with { type: 'json' };
31
55
  export { default as ShapeRegistry } from './ShapeRegistry.json' with { type: 'json' };
56
+ export { default as SignatureSlotRecovery } from './SignatureSlotRecovery.json' with { type: 'json' };
57
+ export { default as SkillDefinitionRegistry } from './SkillDefinitionRegistry.json' with { type: 'json' };
32
58
  export { default as SmartAgentModuleTypes } from './SmartAgentModuleTypes.json' with { type: 'json' };
59
+ export { default as SmartAgentPaymaster } from './SmartAgentPaymaster.json' with { type: 'json' };
33
60
  export { default as TimestampEnforcer } from './TimestampEnforcer.json' with { type: 'json' };
61
+ export { default as UniversalSignatureValidator } from './UniversalSignatureValidator.json' with { type: 'json' };
34
62
  export { default as ValueEnforcer } from './ValueEnforcer.json' with { type: 'json' };
35
63
  export { default as WebAuthnLib } from './WebAuthnLib.json' with { type: 'json' };
@@ -0,0 +1,41 @@
1
+ // Generated by scripts/build-deployments.mjs — do not edit by hand.
2
+ // Source: deployments-base-sepolia.json
3
+ import type { Address } from 'viem';
4
+ export interface Deployments {
5
+ readonly "agentAccountFactory": Address;
6
+ readonly "agentAccountImplementation": Address;
7
+ readonly "agentNameRegistry": Address;
8
+ readonly "agentNameResolver": Address;
9
+ readonly "agentNameUniversalResolver": Address;
10
+ readonly "agentProfileResolver": Address;
11
+ readonly "agentRelationship": Address;
12
+ readonly "agreementRegistry": Address;
13
+ readonly "allowedMethodsEnforcer": Address;
14
+ readonly "allowedTargetsEnforcer": Address;
15
+ readonly "approvedHashRegistry": Address;
16
+ readonly "attestationRegistry": Address;
17
+ readonly "callDataHashEnforcer": Address;
18
+ readonly "custodyPolicy": Address;
19
+ readonly "delegationManager": Address;
20
+ readonly "deployer": Address;
21
+ readonly "entryPoint": Address;
22
+ readonly "geoFeatureRegistry": Address;
23
+ readonly "ontologyTermRegistry": Address;
24
+ readonly "permissionlessSubregistry": Address;
25
+ readonly "permissionlessSubregistryDemoAgent": Address;
26
+ readonly "quorumEnforcer": Address;
27
+ readonly "relationshipTypeRegistry": Address;
28
+ readonly "shapeRegistry": Address;
29
+ readonly "skillDefinitionRegistry": Address;
30
+ readonly "smartAgentPaymaster": Address;
31
+ readonly "timestampEnforcer": Address;
32
+ readonly "universalSignatureValidator": Address;
33
+ readonly "valueEnforcer": Address;
34
+ readonly "paymentEnforcer": Address;
35
+ readonly "paymentReceiptRegistry": Address;
36
+ readonly "mockUsdc": Address;
37
+ readonly "paymentEscrow": Address;
38
+ readonly "chainId": number;
39
+ }
40
+ export declare const CONTRACTS: Deployments;
41
+ export default CONTRACTS;
@@ -0,0 +1,39 @@
1
+ // Generated by scripts/build-deployments.mjs — do not edit by hand.
2
+ // Source: deployments-base-sepolia.json
3
+ export const CONTRACTS = {
4
+ "agentAccountFactory": "0x3E68B72B45e7C9d35B210E4Ab06e5Cece85cEbE4",
5
+ "agentAccountImplementation": "0x338318ABf9C8b28E7e77ed96a91857cCE1Db1328",
6
+ "agentNameRegistry": "0x15F7ed064A230C011b0244A14fD9653f011d609B",
7
+ "agentNameResolver": "0xcC9855A23C7a4D4592E68Fe47E195C2f9D832473",
8
+ "agentNameUniversalResolver": "0x7d777d2d0bbc1806B9Cc779121C27fbaAaFDb60b",
9
+ "agentProfileResolver": "0xc448EB159B2a35F07f6E1814CC8d125244d7384B",
10
+ "agentRelationship": "0xE6B8F6C7F1c9857013dA356DF08D0384334A9607",
11
+ "agreementRegistry": "0x7f4d6A74eda1D6ce251D371566f1c6639F9B0DDa",
12
+ "allowedMethodsEnforcer": "0xf77cf06aCd8b9e2f3204fe4bE16449B3594c9633",
13
+ "allowedTargetsEnforcer": "0xe3909FdEfD8b74B7D006E045DCd678e97D469Bfd",
14
+ "approvedHashRegistry": "0x90735B5281434D1746926E2AA722Cc6DbF3EFEe6",
15
+ "attestationRegistry": "0xaE3861fd299c74D96F6FCA25f19c7ACf8b9020ed",
16
+ "callDataHashEnforcer": "0x9F12932F1b85A1F96c1Cb1c5A0645e3F0Ab478Dd",
17
+ "chainId": 84532,
18
+ "custodyPolicy": "0xDeD6542A55476745846370562d1c75D15DDf2572",
19
+ "delegationManager": "0x3a8E2cE74564f699b135db6f266ccDb563979C05",
20
+ "deployer": "0x31ed17fb99e82E02085Ab4B3cbdaB05489098b44",
21
+ "entryPoint": "0x9B33De9d9597de82Eb56b5B26C478Dc0a6955388",
22
+ "geoFeatureRegistry": "0x78FdCae0aC9B0CD9943996282b8F39D77bec5b1c",
23
+ "ontologyTermRegistry": "0xf486Ba6e9FD2d687e68a1a7A77D0FA27bb1E66c3",
24
+ "permissionlessSubregistry": "0x1B8ED8693738e1A9DD653FEE5430d49e00202Bb7",
25
+ "permissionlessSubregistryDemoAgent": "0xc76b1cdB4340398f59fD9C5d6Cb65fCdC606B33b",
26
+ "quorumEnforcer": "0x76fb494aE991d1fe1603a91384BA4c1F890442a8",
27
+ "relationshipTypeRegistry": "0x526fBF5900b18B1D06201493bcE470b416FB71C3",
28
+ "shapeRegistry": "0x03AbD67A910abB2c5026f1973A05502e0473e316",
29
+ "skillDefinitionRegistry": "0x5ae94aba46D7daA1Ca9eaE0051043Ad05bcc392B",
30
+ "smartAgentPaymaster": "0x8eF92B9D62826052D8F7e6dcaB630dC3890bF540",
31
+ "timestampEnforcer": "0x7c452434314A5bf2048f9263aeCd0cC20Fa07965",
32
+ "universalSignatureValidator": "0xe8F3e531429F44D77dC3A331C18032bfa1550D84",
33
+ "valueEnforcer": "0x7c4533e0A9fB0B1cb5aa70327b222a80d72d52db",
34
+ "paymentEnforcer": "0xAF48273e11435cC2D56f4AFBfD091Abb162458E9",
35
+ "paymentReceiptRegistry": "0x366616E265cd3cDE0F042A592C17838fe210D1d4",
36
+ "mockUsdc": "0x8fb56ff3C13347DFC4E1287aE83E88deE5a7211C",
37
+ "paymentEscrow": "0x954Ba6B3A02E02c5a3Fcd570943126633071cbdD"
38
+ };
39
+ export default CONTRACTS;
@@ -0,0 +1,9 @@
1
+ // Generated by scripts/build-deployments.mjs — do not edit by hand.
2
+ import type { Address } from 'viem';
3
+ import type { Deployments } from './base-sepolia';
4
+ export type { Deployments };
5
+ export declare const BASE_SEPOLIA: Deployments;
6
+ export declare const REGISTRIES_BASE_SEPOLIA: Deployments;
7
+
8
+ export type Network = 'base-sepolia' | 'registries-base-sepolia';
9
+ export declare function getDeployments(network: Network): Deployments;
@@ -0,0 +1,16 @@
1
+ // Generated by scripts/build-deployments.mjs — do not edit by hand.
2
+ import { CONTRACTS as BASE_SEPOLIA } from './base-sepolia.js';
3
+ export { BASE_SEPOLIA };
4
+ import { CONTRACTS as REGISTRIES_BASE_SEPOLIA } from './registries-base-sepolia.js';
5
+ export { REGISTRIES_BASE_SEPOLIA };
6
+
7
+ const TABLE = {
8
+ "base-sepolia": BASE_SEPOLIA,
9
+ "registries-base-sepolia": REGISTRIES_BASE_SEPOLIA,
10
+ };
11
+
12
+ export function getDeployments(network) {
13
+ const c = TABLE[network];
14
+ if (!c) throw new Error('[@agenticprimitives/contracts] no deployments for network ' + network);
15
+ return c;
16
+ }
@@ -0,0 +1,9 @@
1
+ // Generated by scripts/build-deployments.mjs — do not edit by hand.
2
+ // Source: deployments-registries-base-sepolia.json
3
+ import type { Address } from 'viem';
4
+ export interface Deployments {
5
+ readonly "agreementRegistry": Address;
6
+ readonly "attestationRegistry": Address;
7
+ }
8
+ export declare const CONTRACTS: Deployments;
9
+ export default CONTRACTS;
@@ -0,0 +1,7 @@
1
+ // Generated by scripts/build-deployments.mjs — do not edit by hand.
2
+ // Source: deployments-registries-base-sepolia.json
3
+ export const CONTRACTS = {
4
+ "agreementRegistry": "0x9f2A085f0bd2d8Afb69490C0C98D88592093906A",
5
+ "attestationRegistry": "0x4a156CAaE69E894E3C5e6F3064fE028F138b6847"
6
+ };
7
+ export default CONTRACTS;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/contracts",
3
- "version": "0.1.0-alpha.3",
3
+ "version": "1.0.0-alpha.11",
4
4
  "description": "Solidity contracts + ABIs + flattened sources + per-network deployment addresses for the agenticprimitives stack.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -15,7 +15,15 @@
15
15
  "exports": {
16
16
  "./abi": "./dist/abi/index.js",
17
17
  "./abi/*": "./dist/abi/*.json",
18
- "./deployments/*": "./deployments-*.json"
18
+ "./deployments": {
19
+ "types": "./dist/deployments/index.d.ts",
20
+ "default": "./dist/deployments/index.js"
21
+ },
22
+ "./deployments/*": {
23
+ "types": "./dist/deployments/*.d.ts",
24
+ "default": "./dist/deployments/*.js"
25
+ },
26
+ "./deployments-json/*": "./deployments-*.json"
19
27
  },
20
28
  "files": [
21
29
  "LICENSE",
@@ -25,23 +33,36 @@
25
33
  "spec.md",
26
34
  "src",
27
35
  "dist/abi",
36
+ "dist/deployments",
28
37
  "dist/flat",
29
38
  "deployments-*.json"
30
39
  ],
40
+ "devDependencies": {
41
+ "solhint": "^5.0.5"
42
+ },
31
43
  "publishConfig": {
32
44
  "access": "public"
33
45
  },
34
46
  "scripts": {
35
47
  "setup": "bash setup.sh",
36
- "build": "forge build && pnpm run build:abi",
48
+ "build": "forge build && pnpm run build:abi && pnpm run build:deployments",
37
49
  "build:abi": "node scripts/build-abi.mjs",
50
+ "build:deployments": "node scripts/build-deployments.mjs",
38
51
  "build:flat": "node scripts/build-flat.mjs",
39
52
  "test": "forge test",
53
+ "halmos": "halmos",
54
+ "echidna": "echidna test/echidna/CustodyPolicyEchidna.t.sol --contract CustodyPolicyEchidna --config echidna.yaml",
55
+ "medusa": "medusa fuzz --config medusa.json",
56
+ "lint": "solhint 'src/**/*.sol'",
40
57
  "typecheck": "echo 'no TS in this package; ABIs are JSON' && exit 0",
41
58
  "deploy:anvil": "forge script script/Deploy.s.sol --rpc-url http://127.0.0.1:8545 --broadcast --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
42
59
  "deploy:base-sepolia": "DEPLOY_NETWORK=base-sepolia forge script script/Deploy.s.sol --rpc-url $BASE_SEPOLIA_RPC --broadcast --private-key $PRIVATE_KEY",
43
60
  "deploy:paymaster:base-sepolia": "DEPLOY_NETWORK=base-sepolia forge script script/DeployPaymaster.s.sol --rpc-url $BASE_SEPOLIA_RPC --broadcast --private-key $PRIVATE_KEY --sig 'run()'",
44
61
  "deploy:paymaster:anvil": "DEPLOY_NETWORK=anvil forge script script/DeployPaymaster.s.sol --rpc-url http://127.0.0.1:8545 --broadcast --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 --sig 'run()'",
62
+ "deploy:registries:base-sepolia": "DEPLOY_NETWORK=base-sepolia forge script script/DeployRegistries.s.sol --rpc-url $BASE_SEPOLIA_RPC --broadcast --private-key $PRIVATE_KEY --sig 'run()'",
63
+ "deploy:payments:base-sepolia": "DEPLOY_NETWORK=base-sepolia forge script script/DeployPayments.s.sol --rpc-url $BASE_SEPOLIA_RPC --broadcast --private-key $PRIVATE_KEY --sig 'run()'",
64
+ "deploy:payment-escrow:base-sepolia": "DEPLOY_NETWORK=base-sepolia forge script script/DeployPaymentEscrow.s.sol --rpc-url $BASE_SEPOLIA_RPC --broadcast --private-key $PRIVATE_KEY --sig 'run()'",
65
+ "deploy:registries:merge": "node scripts/merge-registry-deploy.mjs",
45
66
  "verify:base-sepolia": "bash scripts/verify-base-sepolia.sh",
46
67
  "clean": "rm -rf out cache broadcast dist"
47
68
  }