@virtuals-protocol/acp-node-v2 0.1.1 → 0.1.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.
Files changed (46) hide show
  1. package/dist/acpAgent.d.ts +62 -2
  2. package/dist/acpAgent.d.ts.map +1 -1
  3. package/dist/acpAgent.js +201 -9
  4. package/dist/acpAgent.js.map +1 -1
  5. package/dist/acpJob.d.ts +4 -2
  6. package/dist/acpJob.d.ts.map +1 -1
  7. package/dist/acpJob.js +5 -3
  8. package/dist/acpJob.js.map +1 -1
  9. package/dist/clients/evmAcpClient.d.ts +2 -1
  10. package/dist/clients/evmAcpClient.d.ts.map +1 -1
  11. package/dist/clients/evmAcpClient.js +19 -2
  12. package/dist/clients/evmAcpClient.js.map +1 -1
  13. package/dist/core/constants.d.ts +10 -0
  14. package/dist/core/constants.d.ts.map +1 -1
  15. package/dist/core/constants.js +22 -2
  16. package/dist/core/constants.js.map +1 -1
  17. package/dist/core/hookEncoding.d.ts +10 -0
  18. package/dist/core/hookEncoding.d.ts.map +1 -0
  19. package/dist/core/hookEncoding.js +34 -0
  20. package/dist/core/hookEncoding.js.map +1 -0
  21. package/dist/core/multiHookRouterAbi.d.ts +465 -0
  22. package/dist/core/multiHookRouterAbi.d.ts.map +1 -0
  23. package/dist/core/multiHookRouterAbi.js +326 -0
  24. package/dist/core/multiHookRouterAbi.js.map +1 -0
  25. package/dist/core/operations.d.ts +6 -0
  26. package/dist/core/operations.d.ts.map +1 -1
  27. package/dist/core/subscriptionHookAbi.d.ts +239 -0
  28. package/dist/core/subscriptionHookAbi.d.ts.map +1 -0
  29. package/dist/core/subscriptionHookAbi.js +199 -0
  30. package/dist/core/subscriptionHookAbi.js.map +1 -0
  31. package/dist/core/subscriptionStateAbi.d.ts +256 -0
  32. package/dist/core/subscriptionStateAbi.d.ts.map +1 -0
  33. package/dist/core/subscriptionStateAbi.js +176 -0
  34. package/dist/core/subscriptionStateAbi.js.map +1 -0
  35. package/dist/events/sseTransport.d.ts +2 -2
  36. package/dist/events/sseTransport.d.ts.map +1 -1
  37. package/dist/events/sseTransport.js +4 -4
  38. package/dist/events/sseTransport.js.map +1 -1
  39. package/dist/events/types.d.ts +14 -3
  40. package/dist/events/types.d.ts.map +1 -1
  41. package/dist/events/types.js.map +1 -1
  42. package/dist/jobSession.d.ts +4 -1
  43. package/dist/jobSession.d.ts.map +1 -1
  44. package/dist/jobSession.js +126 -10
  45. package/dist/jobSession.js.map +1 -1
  46. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { encodeFunctionData, erc20Abi, keccak256, pad, toHex, zeroAddress, } from "viem";
2
- import { BaseAcpClient } from "./baseAcpClient.js";
3
2
  import { ACP_ABI } from "../core/acpAbi.js";
4
- import { parseJobIdFromReceipt } from "../utils/events.js";
3
+ import { MULTI_HOOK_ROUTER_ABI } from "../core/multiHookRouterAbi.js";
4
+ import { BaseAcpClient } from "./baseAcpClient.js";
5
+ import { parseJobIdFromReceipt, } from "../utils/events.js";
5
6
  export class EvmAcpClient extends BaseAcpClient {
6
7
  constructor(contractAddresses, provider) {
7
8
  super(contractAddresses);
@@ -92,6 +93,22 @@ export class EvmAcpClient extends BaseAcpClient {
92
93
  params.optParams ?? "0x",
93
94
  ]));
94
95
  }
96
+ async batchConfigureHooks(chainId, params) {
97
+ const data = encodeFunctionData({
98
+ abi: MULTI_HOOK_ROUTER_ABI,
99
+ functionName: "batchConfigureHooks",
100
+ args: [
101
+ BigInt(params.jobId),
102
+ params.selectors,
103
+ params.hooksPerSelector.map((hooks) => hooks.map((h) => h)),
104
+ ],
105
+ });
106
+ return this.wrap(chainId, {
107
+ to: params.routerAddress,
108
+ data,
109
+ value: 0n,
110
+ });
111
+ }
95
112
  async getJobIdFromTxHash(chainId, txHash, filter) {
96
113
  const receipt = await this.provider.getTransactionReceipt(chainId, txHash);
97
114
  return parseJobIdFromReceipt(receipt, this.getContractAddress(chainId), filter);
@@ -1 +1 @@
1
- {"version":3,"file":"evmAcpClient.js","sourceRoot":"","sources":["../../src/clients/evmAcpClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evmAcpClient.js","sourceRoot":"","sources":["../../src/clients/evmAcpClient.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,16 @@ import { Address } from "viem";
2
2
  export declare const USDC_ADDRESSES: Record<number, string>;
3
3
  export declare const ACP_CONTRACT_ADDRESSES: Record<number, string>;
4
4
  export declare const FUND_TRANSFER_HOOK_ADDRESSES: Record<number, string>;
5
+ export declare const MULTI_HOOK_ROUTER_ADDRESSES: Record<number, string>;
6
+ export declare const SUBSCRIPTION_HOOK_ADDRESSES: Record<number, string>;
7
+ export declare const SUBSCRIPTION_STATE_ADDRESSES: Record<number, string>;
8
+ export declare const ACP_SELECTORS: {
9
+ readonly setBudget: `0x${string}`;
10
+ readonly fund: `0x${string}`;
11
+ readonly submit: `0x${string}`;
12
+ readonly complete: `0x${string}`;
13
+ readonly reject: `0x${string}`;
14
+ };
5
15
  export declare const USDC_DECIMALS: Record<number, number>;
6
16
  export declare function getAddressForChain(registry: Record<number, string>, chainId: number, label: string): Address;
7
17
  export declare const USDC_SYMBOL = "USDC";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAO/B,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzD,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI/D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIhD,CAAC;AAMF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAKT;AAED,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,eAAO,MAAM,cAAc,gCAAgC,CAAC;AAE5D,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAExE,eAAO,MAAM,YAAY,8BAA8B,CAAC;AAExD,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;IAa5B,CAAC;AAEF,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,eAAO,MAAM,cAAc,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,MAAM,MAAM,CAAC;AAOnD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIjD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzD,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI/D,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG9D,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG9D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAG/D,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIhD,CAAC;AAMF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAKT;AAED,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,eAAO,MAAM,cAAc,gCAAgC,CAAC;AAE5D,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAExE,eAAO,MAAM,YAAY,8BAA8B,CAAC;AAExD,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE,eAAO,MAAM,gBAAgB;;;;;;;;;IAa5B,CAAC;AAEF,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,eAAO,MAAM,cAAc,KAAK,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { toFunctionSelector } from "viem";
1
2
  import { base, baseSepolia, bscTestnet } from "viem/chains";
2
3
  // ---------------------------------------------------------------------------
3
4
  // Chain-keyed address registries
@@ -13,9 +14,28 @@ export const ACP_CONTRACT_ADDRESSES = {
13
14
  [base.id]: "0x238E541BfefD82238730D00a2208E5497F1832E0",
14
15
  };
15
16
  export const FUND_TRANSFER_HOOK_ADDRESSES = {
16
- [baseSepolia.id]: "0xaD1d2BB31C40e3D0f14631721Babc4b889F38796",
17
+ [baseSepolia.id]: "0xbbeC2c985F9483473B9e0Da0704395943034266B",
17
18
  [bscTestnet.id]: "0xaD1d2BB31C40e3D0f14631721Babc4b889F38796",
18
- [base.id]: "0x90717828D78731313CB350D6a58b0f91668Ea702",
19
+ [base.id]: "0x0EaD25150985Bce0B4925c54E4ee1D856381A86B",
20
+ };
21
+ export const MULTI_HOOK_ROUTER_ADDRESSES = {
22
+ [baseSepolia.id]: "0x5Af0589bD265d2B5Abb617570Ceef8f34Ac6BcdD",
23
+ [base.id]: "0x77F67252a8d3A6b049f4383FD50Fb9Bf784D29D1",
24
+ };
25
+ export const SUBSCRIPTION_HOOK_ADDRESSES = {
26
+ [baseSepolia.id]: "0x6eA4c9C6dA120B193e3C2249CCA81ead3Cfb318f",
27
+ [base.id]: "0xD087363615f36F2b0265Bb4AC78Cd730C6C0cc1D",
28
+ };
29
+ export const SUBSCRIPTION_STATE_ADDRESSES = {
30
+ [baseSepolia.id]: "0x6f254046aA8A9c253f839eb64Da1FE284930100F",
31
+ [base.id]: "0x52c2C68f4f7fF3C70760E3D0B9b2FA91CFE443Ad",
32
+ };
33
+ export const ACP_SELECTORS = {
34
+ setBudget: toFunctionSelector("setBudget(uint256,uint256,bytes)"),
35
+ fund: toFunctionSelector("fund(uint256,uint256,bytes)"),
36
+ submit: toFunctionSelector("submit(uint256,bytes32,bytes)"),
37
+ complete: toFunctionSelector("complete(uint256,bytes32,bytes)"),
38
+ reject: toFunctionSelector("reject(uint256,bytes32,bytes)"),
19
39
  };
20
40
  export const USDC_DECIMALS = {
21
41
  [baseSepolia.id]: 6,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE5D,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC7D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC7D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAA2B;IAClE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC7D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;CACpB,CAAC;AAEF,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,UAAU,kBAAkB,CAChC,QAAgC,EAChC,OAAe,EACf,KAAa;IAEb,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AAExE,MAAM,CAAC,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,IAAI,EAAE,WAAW,CAAC,IAAI;KACvB;IACD;QACE,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB;IACD;QACE,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE5D,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC7D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC7D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAA2B;IAClE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC7D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAA2B;IAClE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,4CAA4C;IAC9D,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,4CAA4C;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS,EAAE,kBAAkB,CAAC,kCAAkC,CAAC;IACjE,IAAI,EAAE,kBAAkB,CAAC,6BAA6B,CAAC;IACvD,MAAM,EAAE,kBAAkB,CAAC,+BAA+B,CAAC;IAC3D,QAAQ,EAAE,kBAAkB,CAAC,iCAAiC,CAAC;IAC/D,MAAM,EAAE,kBAAkB,CAAC,+BAA+B,CAAC;CACnD,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;IACnB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACZ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;CACpB,CAAC;AAEF,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,UAAU,kBAAkB,CAChC,QAAgC,EAChC,OAAe,EACf,KAAa;IAEb,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,mCAAmC,OAAO,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AAExE,MAAM,CAAC,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,IAAI,EAAE,WAAW,CAAC,IAAI;KACvB;IACD;QACE,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB;IACD;QACE,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type Address, type Hex } from "viem";
2
+ export type MultiHookConfig = {
3
+ selectors: Hex[];
4
+ hooksPerSelector: string[][];
5
+ };
6
+ export declare function encodeRouterOptParams(slices: Hex[]): Hex;
7
+ export declare function encodeSubscriptionOptParams(duration: bigint, packageId: bigint): Hex;
8
+ export declare function buildSubscriptionWithFundsHookConfig(chainId: number): MultiHookConfig;
9
+ export declare function encodeFundTransferOptParams(token: Address, amount: bigint, destination: Address): Hex;
10
+ //# sourceMappingURL=hookEncoding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookEncoding.d.ts","sourceRoot":"","sources":["../../src/core/hookEncoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAQnE,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC;CAC9B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAKxD;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,GAAG,CAQL;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,GACd,eAAe,CAsBjB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,GACnB,GAAG,CASL"}
@@ -0,0 +1,34 @@
1
+ import { encodeAbiParameters } from "viem";
2
+ import { ACP_SELECTORS, FUND_TRANSFER_HOOK_ADDRESSES, getAddressForChain, SUBSCRIPTION_HOOK_ADDRESSES, } from "./constants.js";
3
+ export function encodeRouterOptParams(slices) {
4
+ return encodeAbiParameters([{ type: "bytes[]", name: "perHookData" }], [slices]);
5
+ }
6
+ export function encodeSubscriptionOptParams(duration, packageId) {
7
+ return encodeAbiParameters([
8
+ { type: "uint256", name: "duration" },
9
+ { type: "uint256", name: "packageId" },
10
+ ], [duration, packageId]);
11
+ }
12
+ export function buildSubscriptionWithFundsHookConfig(chainId) {
13
+ const subHook = getAddressForChain(SUBSCRIPTION_HOOK_ADDRESSES, chainId, "SubscriptionHook");
14
+ const fundHook = getAddressForChain(FUND_TRANSFER_HOOK_ADDRESSES, chainId, "FundTransferHook");
15
+ const both = [subHook, fundHook];
16
+ return {
17
+ selectors: [
18
+ ACP_SELECTORS.setBudget,
19
+ ACP_SELECTORS.fund,
20
+ ACP_SELECTORS.submit,
21
+ ACP_SELECTORS.complete,
22
+ ACP_SELECTORS.reject,
23
+ ],
24
+ hooksPerSelector: [both, both, [fundHook], both, both],
25
+ };
26
+ }
27
+ export function encodeFundTransferOptParams(token, amount, destination) {
28
+ return encodeAbiParameters([
29
+ { type: "address", name: "token" },
30
+ { type: "uint256", name: "amount" },
31
+ { type: "address", name: "destination" },
32
+ ], [token, amount, destination]);
33
+ }
34
+ //# sourceMappingURL=hookEncoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookEncoding.js","sourceRoot":"","sources":["../../src/core/hookEncoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAA0B,MAAM,MAAM,CAAC;AACnE,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAOxB,MAAM,UAAU,qBAAqB,CAAC,MAAa;IACjD,OAAO,mBAAmB,CACxB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAC1C,CAAC,MAAM,CAAC,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,QAAgB,EAChB,SAAiB;IAEjB,OAAO,mBAAmB,CACxB;QACE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE;QACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;KACvC,EACD,CAAC,QAAQ,EAAE,SAAS,CAAC,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,OAAe;IAEf,MAAM,OAAO,GAAG,kBAAkB,CAChC,2BAA2B,EAC3B,OAAO,EACP,kBAAkB,CACnB,CAAC;IACF,MAAM,QAAQ,GAAG,kBAAkB,CACjC,4BAA4B,EAC5B,OAAO,EACP,kBAAkB,CACnB,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjC,OAAO;QACL,SAAS,EAAE;YACT,aAAa,CAAC,SAAS;YACvB,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,QAAQ;YACtB,aAAa,CAAC,MAAM;SACrB;QACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAAc,EACd,MAAc,EACd,WAAoB;IAEpB,OAAO,mBAAmB,CACxB;QACE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;QAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE;KACzC,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAC7B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,465 @@
1
+ export declare const MULTI_HOOK_ROUTER_ABI: readonly [{
2
+ readonly inputs: readonly [{
3
+ readonly internalType: "address";
4
+ readonly name: "acpContract_";
5
+ readonly type: "address";
6
+ }, {
7
+ readonly internalType: "uint256";
8
+ readonly name: "maxHooksPerJob_";
9
+ readonly type: "uint256";
10
+ }];
11
+ readonly stateMutability: "nonpayable";
12
+ readonly type: "constructor";
13
+ }, {
14
+ readonly inputs: readonly [];
15
+ readonly name: "ArrayLengthMismatch";
16
+ readonly type: "error";
17
+ }, {
18
+ readonly inputs: readonly [];
19
+ readonly name: "DuplicateHook";
20
+ readonly type: "error";
21
+ }, {
22
+ readonly inputs: readonly [];
23
+ readonly name: "EmptyArray";
24
+ readonly type: "error";
25
+ }, {
26
+ readonly inputs: readonly [];
27
+ readonly name: "HookDataLengthMismatch";
28
+ readonly type: "error";
29
+ }, {
30
+ readonly inputs: readonly [];
31
+ readonly name: "HookMissingRequiredSelector";
32
+ readonly type: "error";
33
+ }, {
34
+ readonly inputs: readonly [];
35
+ readonly name: "HookNotFound";
36
+ readonly type: "error";
37
+ }, {
38
+ readonly inputs: readonly [];
39
+ readonly name: "HookSetMismatch";
40
+ readonly type: "error";
41
+ }, {
42
+ readonly inputs: readonly [];
43
+ readonly name: "HooksLocked";
44
+ readonly type: "error";
45
+ }, {
46
+ readonly inputs: readonly [];
47
+ readonly name: "InvalidHook";
48
+ readonly type: "error";
49
+ }, {
50
+ readonly inputs: readonly [];
51
+ readonly name: "InvalidSelector";
52
+ readonly type: "error";
53
+ }, {
54
+ readonly inputs: readonly [];
55
+ readonly name: "NotCoreAdmin";
56
+ readonly type: "error";
57
+ }, {
58
+ readonly inputs: readonly [];
59
+ readonly name: "OnlyACPContract";
60
+ readonly type: "error";
61
+ }, {
62
+ readonly inputs: readonly [];
63
+ readonly name: "OnlyJobClient";
64
+ readonly type: "error";
65
+ }, {
66
+ readonly inputs: readonly [];
67
+ readonly name: "ReentrancyGuardReentrantCall";
68
+ readonly type: "error";
69
+ }, {
70
+ readonly inputs: readonly [];
71
+ readonly name: "SubHookNotWhitelisted";
72
+ readonly type: "error";
73
+ }, {
74
+ readonly inputs: readonly [];
75
+ readonly name: "TooManyHooks";
76
+ readonly type: "error";
77
+ }, {
78
+ readonly inputs: readonly [];
79
+ readonly name: "ZeroAddress";
80
+ readonly type: "error";
81
+ }, {
82
+ readonly anonymous: false;
83
+ readonly inputs: readonly [{
84
+ readonly indexed: true;
85
+ readonly internalType: "uint256";
86
+ readonly name: "jobId";
87
+ readonly type: "uint256";
88
+ }, {
89
+ readonly indexed: true;
90
+ readonly internalType: "bytes4";
91
+ readonly name: "selector";
92
+ readonly type: "bytes4";
93
+ }, {
94
+ readonly indexed: true;
95
+ readonly internalType: "address";
96
+ readonly name: "hook";
97
+ readonly type: "address";
98
+ }];
99
+ readonly name: "DewhitelistedHookSkipped";
100
+ readonly type: "event";
101
+ }, {
102
+ readonly anonymous: false;
103
+ readonly inputs: readonly [{
104
+ readonly indexed: true;
105
+ readonly internalType: "uint256";
106
+ readonly name: "jobId";
107
+ readonly type: "uint256";
108
+ }, {
109
+ readonly indexed: true;
110
+ readonly internalType: "bytes4";
111
+ readonly name: "selector";
112
+ readonly type: "bytes4";
113
+ }, {
114
+ readonly indexed: true;
115
+ readonly internalType: "address";
116
+ readonly name: "hook";
117
+ readonly type: "address";
118
+ }, {
119
+ readonly indexed: false;
120
+ readonly internalType: "uint256";
121
+ readonly name: "position";
122
+ readonly type: "uint256";
123
+ }];
124
+ readonly name: "HookAdded";
125
+ readonly type: "event";
126
+ }, {
127
+ readonly anonymous: false;
128
+ readonly inputs: readonly [{
129
+ readonly indexed: true;
130
+ readonly internalType: "uint256";
131
+ readonly name: "jobId";
132
+ readonly type: "uint256";
133
+ }, {
134
+ readonly indexed: true;
135
+ readonly internalType: "bytes4";
136
+ readonly name: "selector";
137
+ readonly type: "bytes4";
138
+ }, {
139
+ readonly indexed: true;
140
+ readonly internalType: "address";
141
+ readonly name: "hook";
142
+ readonly type: "address";
143
+ }];
144
+ readonly name: "HookRemoved";
145
+ readonly type: "event";
146
+ }, {
147
+ readonly anonymous: false;
148
+ readonly inputs: readonly [{
149
+ readonly indexed: true;
150
+ readonly internalType: "uint256";
151
+ readonly name: "jobId";
152
+ readonly type: "uint256";
153
+ }, {
154
+ readonly indexed: true;
155
+ readonly internalType: "bytes4";
156
+ readonly name: "selector";
157
+ readonly type: "bytes4";
158
+ }, {
159
+ readonly indexed: false;
160
+ readonly internalType: "address[]";
161
+ readonly name: "hooks";
162
+ readonly type: "address[]";
163
+ }];
164
+ readonly name: "HooksConfigured";
165
+ readonly type: "event";
166
+ }, {
167
+ readonly anonymous: false;
168
+ readonly inputs: readonly [{
169
+ readonly indexed: true;
170
+ readonly internalType: "uint256";
171
+ readonly name: "jobId";
172
+ readonly type: "uint256";
173
+ }, {
174
+ readonly indexed: true;
175
+ readonly internalType: "bytes4";
176
+ readonly name: "selector";
177
+ readonly type: "bytes4";
178
+ }, {
179
+ readonly indexed: false;
180
+ readonly internalType: "address[]";
181
+ readonly name: "hooks";
182
+ readonly type: "address[]";
183
+ }];
184
+ readonly name: "HooksReordered";
185
+ readonly type: "event";
186
+ }, {
187
+ readonly anonymous: false;
188
+ readonly inputs: readonly [{
189
+ readonly indexed: false;
190
+ readonly internalType: "uint256";
191
+ readonly name: "oldMax";
192
+ readonly type: "uint256";
193
+ }, {
194
+ readonly indexed: false;
195
+ readonly internalType: "uint256";
196
+ readonly name: "newMax";
197
+ readonly type: "uint256";
198
+ }];
199
+ readonly name: "MaxHooksPerJobUpdated";
200
+ readonly type: "event";
201
+ }, {
202
+ readonly inputs: readonly [];
203
+ readonly name: "acpContract";
204
+ readonly outputs: readonly [{
205
+ readonly internalType: "address";
206
+ readonly name: "";
207
+ readonly type: "address";
208
+ }];
209
+ readonly stateMutability: "view";
210
+ readonly type: "function";
211
+ }, {
212
+ readonly inputs: readonly [{
213
+ readonly internalType: "uint256";
214
+ readonly name: "jobId";
215
+ readonly type: "uint256";
216
+ }, {
217
+ readonly internalType: "bytes4";
218
+ readonly name: "selector";
219
+ readonly type: "bytes4";
220
+ }, {
221
+ readonly internalType: "address";
222
+ readonly name: "hook";
223
+ readonly type: "address";
224
+ }];
225
+ readonly name: "addHook";
226
+ readonly outputs: readonly [];
227
+ readonly stateMutability: "nonpayable";
228
+ readonly type: "function";
229
+ }, {
230
+ readonly inputs: readonly [{
231
+ readonly internalType: "uint256";
232
+ readonly name: "jobId";
233
+ readonly type: "uint256";
234
+ }, {
235
+ readonly internalType: "bytes4";
236
+ readonly name: "selector";
237
+ readonly type: "bytes4";
238
+ }, {
239
+ readonly internalType: "bytes";
240
+ readonly name: "data";
241
+ readonly type: "bytes";
242
+ }];
243
+ readonly name: "afterAction";
244
+ readonly outputs: readonly [];
245
+ readonly stateMutability: "nonpayable";
246
+ readonly type: "function";
247
+ }, {
248
+ readonly inputs: readonly [{
249
+ readonly internalType: "uint256";
250
+ readonly name: "jobId";
251
+ readonly type: "uint256";
252
+ }, {
253
+ readonly internalType: "bytes4[]";
254
+ readonly name: "selectors";
255
+ readonly type: "bytes4[]";
256
+ }, {
257
+ readonly internalType: "address[][]";
258
+ readonly name: "hooksPerSelector";
259
+ readonly type: "address[][]";
260
+ }];
261
+ readonly name: "batchConfigureHooks";
262
+ readonly outputs: readonly [];
263
+ readonly stateMutability: "nonpayable";
264
+ readonly type: "function";
265
+ }, {
266
+ readonly inputs: readonly [{
267
+ readonly internalType: "uint256";
268
+ readonly name: "jobId";
269
+ readonly type: "uint256";
270
+ }, {
271
+ readonly internalType: "bytes4";
272
+ readonly name: "selector";
273
+ readonly type: "bytes4";
274
+ }, {
275
+ readonly internalType: "bytes";
276
+ readonly name: "data";
277
+ readonly type: "bytes";
278
+ }];
279
+ readonly name: "beforeAction";
280
+ readonly outputs: readonly [];
281
+ readonly stateMutability: "nonpayable";
282
+ readonly type: "function";
283
+ }, {
284
+ readonly inputs: readonly [{
285
+ readonly internalType: "uint256";
286
+ readonly name: "jobId";
287
+ readonly type: "uint256";
288
+ }, {
289
+ readonly internalType: "bytes4";
290
+ readonly name: "selector";
291
+ readonly type: "bytes4";
292
+ }, {
293
+ readonly internalType: "address[]";
294
+ readonly name: "hooks";
295
+ readonly type: "address[]";
296
+ }];
297
+ readonly name: "configureHooks";
298
+ readonly outputs: readonly [];
299
+ readonly stateMutability: "nonpayable";
300
+ readonly type: "function";
301
+ }, {
302
+ readonly inputs: readonly [{
303
+ readonly internalType: "uint256";
304
+ readonly name: "jobId";
305
+ readonly type: "uint256";
306
+ }, {
307
+ readonly internalType: "bytes4";
308
+ readonly name: "selector";
309
+ readonly type: "bytes4";
310
+ }];
311
+ readonly name: "getHooks";
312
+ readonly outputs: readonly [{
313
+ readonly internalType: "address[]";
314
+ readonly name: "";
315
+ readonly type: "address[]";
316
+ }];
317
+ readonly stateMutability: "view";
318
+ readonly type: "function";
319
+ }, {
320
+ readonly inputs: readonly [{
321
+ readonly internalType: "uint256";
322
+ readonly name: "jobId";
323
+ readonly type: "uint256";
324
+ }];
325
+ readonly name: "getJob";
326
+ readonly outputs: readonly [{
327
+ readonly components: readonly [{
328
+ readonly internalType: "address";
329
+ readonly name: "client";
330
+ readonly type: "address";
331
+ }, {
332
+ readonly internalType: "enum AgenticCommerceV3.JobStatus";
333
+ readonly name: "status";
334
+ readonly type: "uint8";
335
+ }, {
336
+ readonly internalType: "address";
337
+ readonly name: "provider";
338
+ readonly type: "address";
339
+ }, {
340
+ readonly internalType: "uint48";
341
+ readonly name: "expiredAt";
342
+ readonly type: "uint48";
343
+ }, {
344
+ readonly internalType: "address";
345
+ readonly name: "evaluator";
346
+ readonly type: "address";
347
+ }, {
348
+ readonly internalType: "address";
349
+ readonly name: "hook";
350
+ readonly type: "address";
351
+ }, {
352
+ readonly internalType: "uint256";
353
+ readonly name: "budget";
354
+ readonly type: "uint256";
355
+ }, {
356
+ readonly internalType: "string";
357
+ readonly name: "description";
358
+ readonly type: "string";
359
+ }];
360
+ readonly internalType: "struct AgenticCommerceV3.Job";
361
+ readonly name: "";
362
+ readonly type: "tuple";
363
+ }];
364
+ readonly stateMutability: "view";
365
+ readonly type: "function";
366
+ }, {
367
+ readonly inputs: readonly [{
368
+ readonly internalType: "uint256";
369
+ readonly name: "jobId";
370
+ readonly type: "uint256";
371
+ }, {
372
+ readonly internalType: "bytes4";
373
+ readonly name: "selector";
374
+ readonly type: "bytes4";
375
+ }];
376
+ readonly name: "hookCount";
377
+ readonly outputs: readonly [{
378
+ readonly internalType: "uint256";
379
+ readonly name: "";
380
+ readonly type: "uint256";
381
+ }];
382
+ readonly stateMutability: "view";
383
+ readonly type: "function";
384
+ }, {
385
+ readonly inputs: readonly [];
386
+ readonly name: "maxHooksPerJob";
387
+ readonly outputs: readonly [{
388
+ readonly internalType: "uint256";
389
+ readonly name: "";
390
+ readonly type: "uint256";
391
+ }];
392
+ readonly stateMutability: "view";
393
+ readonly type: "function";
394
+ }, {
395
+ readonly inputs: readonly [];
396
+ readonly name: "paymentToken";
397
+ readonly outputs: readonly [{
398
+ readonly internalType: "contract IERC20";
399
+ readonly name: "";
400
+ readonly type: "address";
401
+ }];
402
+ readonly stateMutability: "view";
403
+ readonly type: "function";
404
+ }, {
405
+ readonly inputs: readonly [{
406
+ readonly internalType: "uint256";
407
+ readonly name: "jobId";
408
+ readonly type: "uint256";
409
+ }, {
410
+ readonly internalType: "bytes4";
411
+ readonly name: "selector";
412
+ readonly type: "bytes4";
413
+ }, {
414
+ readonly internalType: "address";
415
+ readonly name: "hook";
416
+ readonly type: "address";
417
+ }];
418
+ readonly name: "removeHook";
419
+ readonly outputs: readonly [];
420
+ readonly stateMutability: "nonpayable";
421
+ readonly type: "function";
422
+ }, {
423
+ readonly inputs: readonly [{
424
+ readonly internalType: "uint256";
425
+ readonly name: "jobId";
426
+ readonly type: "uint256";
427
+ }, {
428
+ readonly internalType: "bytes4";
429
+ readonly name: "selector";
430
+ readonly type: "bytes4";
431
+ }, {
432
+ readonly internalType: "address[]";
433
+ readonly name: "hooks";
434
+ readonly type: "address[]";
435
+ }];
436
+ readonly name: "reorderHooks";
437
+ readonly outputs: readonly [];
438
+ readonly stateMutability: "nonpayable";
439
+ readonly type: "function";
440
+ }, {
441
+ readonly inputs: readonly [{
442
+ readonly internalType: "uint256";
443
+ readonly name: "newMax";
444
+ readonly type: "uint256";
445
+ }];
446
+ readonly name: "setMaxHooksPerJob";
447
+ readonly outputs: readonly [];
448
+ readonly stateMutability: "nonpayable";
449
+ readonly type: "function";
450
+ }, {
451
+ readonly inputs: readonly [{
452
+ readonly internalType: "bytes4";
453
+ readonly name: "interfaceId";
454
+ readonly type: "bytes4";
455
+ }];
456
+ readonly name: "supportsInterface";
457
+ readonly outputs: readonly [{
458
+ readonly internalType: "bool";
459
+ readonly name: "";
460
+ readonly type: "bool";
461
+ }];
462
+ readonly stateMutability: "view";
463
+ readonly type: "function";
464
+ }];
465
+ //# sourceMappingURL=multiHookRouterAbi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiHookRouterAbi.d.ts","sourceRoot":"","sources":["../../src/core/multiHookRouterAbi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoUxB,CAAC"}