@ensdomains/ensjs 3.5.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/cjs/errors/version.js +1 -1
  2. package/dist/cjs/utils/ccipBatchRequest.js +67 -0
  3. package/dist/cjs/utils/ccipBatchRequest.js.map +1 -0
  4. package/dist/cjs/utils/ccipRequest.js +26 -0
  5. package/dist/cjs/utils/ccipRequest.js.map +1 -0
  6. package/dist/cjs/utils/index.js +6 -4
  7. package/dist/cjs/utils/index.js.map +1 -1
  8. package/dist/esm/errors/version.js +1 -1
  9. package/dist/esm/utils/ccipBatchRequest.js +64 -0
  10. package/dist/esm/utils/ccipBatchRequest.js.map +1 -0
  11. package/dist/esm/utils/ccipRequest.js +22 -0
  12. package/dist/esm/utils/ccipRequest.js.map +1 -0
  13. package/dist/esm/utils/index.js +2 -1
  14. package/dist/esm/utils/index.js.map +1 -1
  15. package/dist/types/clients/decorators/wallet.d.ts +2785 -5
  16. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  17. package/dist/types/clients/public.d.ts +5 -1
  18. package/dist/types/clients/public.d.ts.map +1 -1
  19. package/dist/types/clients/subgraph.d.ts +5 -1
  20. package/dist/types/clients/subgraph.d.ts.map +1 -1
  21. package/dist/types/clients/wallet.d.ts +2814 -34
  22. package/dist/types/clients/wallet.d.ts.map +1 -1
  23. package/dist/types/errors/version.d.ts +1 -1
  24. package/dist/types/utils/ccipBatchRequest.d.ts +7 -0
  25. package/dist/types/utils/ccipBatchRequest.d.ts.map +1 -0
  26. package/dist/types/utils/ccipRequest.d.ts +3 -0
  27. package/dist/types/utils/ccipRequest.d.ts.map +1 -0
  28. package/dist/types/utils/index.d.ts +2 -1
  29. package/dist/types/utils/index.d.ts.map +1 -1
  30. package/package.json +2 -2
  31. package/src/errors/version.ts +1 -1
  32. package/src/utils/ccipBatchRequest.ts +93 -0
  33. package/src/utils/ccipRequest.ts +44 -0
  34. package/src/utils/index.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/clients/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEhF,MAAM,MAAM,qBAAqB,CAC/B,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,sBAAsB,EACrC,iBAAiB,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GACnD,OAAO,GACP,OAAO,GACP,SAAS,IACX,MAAM,CACR,IAAI,CACF,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,EACnD,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CACvE,EACD;IACE,KAAK,EAAE,MAAM,CAAA;CACd,CACF,CAAA;AAED,MAAM,MAAM,eAAe,CACzB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD,QAAQ,CACV,MAAM,CACJ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CACrE,CACF,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjC,CAAA"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/clients/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,mBAAmB,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEhF,MAAM,MAAM,qBAAqB,CAC/B,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,sBAAsB,EACrC,iBAAiB,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GACnD,OAAO,GACP,OAAO,GACP,SAAS,IACX,MAAM,CACR,IAAI,CACF,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,EACnD,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CACvE,EACD;IACE,KAAK,EAAE,MAAM,CAAA;CACd,CACF,CAAA;AAED,MAAM,MAAM,eAAe,CACzB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,YAAY,GAAG,YAAY,EAC1C,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD,QAAQ,CACV,MAAM,CACJ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CACrE,CACF,CAAA;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjC,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "v3.5.0";
1
+ export declare const version = "v3.6.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { type Address, type Hex } from 'viem';
2
+ type ReadonlyDeep<T> = {
3
+ readonly [P in keyof T]: ReadonlyDeep<T[P]>;
4
+ };
5
+ export declare const ccipBatchRequest: (callDatas: ReadonlyDeep<[Address, string[], Hex][]>) => Promise<[failures: boolean[], responses: `0x${string}`[]]>;
6
+ export {};
7
+ //# sourceMappingURL=ccipBatchRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ccipBatchRequest.d.ts","sourceRoot":"","sources":["../../../src/utils/ccipBatchRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,OAAO,EACZ,KAAK,GAAG,EACT,MAAM,MAAM,CAAA;AAEb,KAAK,YAAY,CAAC,CAAC,IAAI;IACrB,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAA;AAwCD,eAAO,MAAM,gBAAgB,cAChB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,+DAuCpD,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { ccipRequest as viemCcipRequest, type CcipRequestParameters, type Chain } from 'viem';
2
+ export declare const ccipRequest: <TChain extends Chain>(chain: TChain) => ({ data, sender, urls, }: CcipRequestParameters) => ReturnType<typeof viemCcipRequest>;
3
+ //# sourceMappingURL=ccipRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ccipRequest.d.ts","sourceRoot":"","sources":["../../../src/utils/ccipRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,WAAW,IAAI,eAAe,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,KAAK,EACX,MAAM,MAAM,CAAA;AAUb,eAAO,MAAM,WAAW,qEAMnB,qBAAqB,KAAG,WAAW,sBAAsB,CAmB3D,CAAA"}
@@ -1,3 +1,4 @@
1
+ export { ccipRequest } from './ccipRequest.js';
1
2
  export { getDnsTxtRecords, type GetDnsTxtRecordsParameters, type GetDnsTxtRecordsReturnType, } from './dns/getDnsTxtRecords.js';
2
3
  export { DnsRecordType, DnsResponseStatus, type DnsQuestionItem, type DnsResponse, type DnsResponseItem, } from './dns/misc.js';
3
4
  export { contentTypeToEncodeAs, encodeAbi, encodeAsToContentType, type EncodeAbiParameters, type EncodeAbiReturnType, type EncodedAbi, } from './encoders/encodeAbi.js';
@@ -11,6 +12,7 @@ export { ChildFuseKeys, ChildFuseReference, ChildFuses, FullParentFuseKeys, Full
11
12
  export { decodeContentHash, encodeContentHash, getDisplayCodec, getInternalCodec, getProtocolType, isValidContentHash, type DecodedContentHash, type ProtocolType, } from './contentHash.js';
12
13
  export { truncateFormat } from './format.js';
13
14
  export { generateRecordCallArray, type RecordOptions, } from './generateRecordCallArray.js';
15
+ export { generateSupportedContentTypes } from './generateSupportedContentTypes.js';
14
16
  export { bytesToPacket, packetToBytes } from './hexEncodedName.js';
15
17
  export { checkIsDecrypted, checkLabel, decodeLabelhash, decryptName, encodeLabelhash, isEncodedLabelhash, saveLabel, saveName, } from './labels.js';
16
18
  export { makeSafeSecondsDate } from './makeSafeSecondsDate.js';
@@ -18,5 +20,4 @@ export { beautify, emoji, isCombiningMark, namehash, normalise, normaliseFragmen
18
20
  export { makeCommitment, makeCommitmentFromTuple, makeCommitmentTuple, makeRegistrationTuple, randomSecret, type CommitmentTuple, type RegistrationParameters, type RegistrationTuple, } from './registerHelpers.js';
19
21
  export { checkIsDotEth, parseInput, validateName, type ParsedInputResult, } from './validation.js';
20
22
  export { MAX_EXPIRY, expiryToBigInt, wrappedLabelLengthCheck, } from './wrapper.js';
21
- export { generateSupportedContentTypes } from './generateSupportedContentTypes.js';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -14,9 +14,9 @@
14
14
  "traverse": "^0.6.8"
15
15
  },
16
16
  "peerDependencies": {
17
- "viem": "^2.5.0"
17
+ "viem": "^2.9.2"
18
18
  },
19
- "version": "3.5.0",
19
+ "version": "3.6.0",
20
20
  "files": [
21
21
  "dist/",
22
22
  "src/",
@@ -1 +1 @@
1
- export const version = 'v3.5.0'
1
+ export const version = 'v3.6.0'
@@ -0,0 +1,93 @@
1
+ import {
2
+ BaseError,
3
+ HttpRequestError,
4
+ ccipRequest,
5
+ encodeErrorResult,
6
+ parseAbi,
7
+ type Address,
8
+ type Hex,
9
+ } from 'viem'
10
+
11
+ type ReadonlyDeep<T> = {
12
+ readonly [P in keyof T]: ReadonlyDeep<T[P]>
13
+ }
14
+
15
+ const errorAbi = parseAbi(['error HttpError((uint16, string)[])'])
16
+
17
+ type CcipRequestItem = [success: boolean, result: Hex]
18
+
19
+ const ccipRequestItemHandler = async ([
20
+ wrappedSender,
21
+ wrappedUrls,
22
+ wrappedCallData,
23
+ ]: [Address, readonly string[], Hex]): Promise<CcipRequestItem> => {
24
+ try {
25
+ const ccipResult = await ccipRequest({
26
+ sender: wrappedSender,
27
+ urls: wrappedUrls,
28
+ data: wrappedCallData,
29
+ })
30
+ return [false, ccipResult]
31
+ } catch (e) {
32
+ if (e instanceof HttpRequestError) {
33
+ return [
34
+ true,
35
+ encodeErrorResult({
36
+ abi: errorAbi,
37
+ errorName: 'HttpError',
38
+ args: [[[e.status || 500, e.details]]],
39
+ }),
40
+ ]
41
+ }
42
+ return [
43
+ true,
44
+ encodeErrorResult({
45
+ abi: errorAbi,
46
+ errorName: 'HttpError',
47
+ args: [[[500, e instanceof BaseError ? e.details : 'Unknown Error']]],
48
+ }),
49
+ ]
50
+ }
51
+ }
52
+
53
+ export const ccipBatchRequest = async (
54
+ callDatas: ReadonlyDeep<[Address, string[], Hex][]>,
55
+ ) => {
56
+ const ccipRequestCache: Map<string, Promise<CcipRequestItem>> = new Map()
57
+ const responsePromises: Promise<CcipRequestItem>[] = []
58
+
59
+ for (let i = 0; i < callDatas.length; i += 1) {
60
+ const [wrappedSender, wrappedUrls, wrappedCallData] = callDatas[i]
61
+ const requestId = JSON.stringify([
62
+ wrappedSender,
63
+ wrappedUrls,
64
+ wrappedCallData,
65
+ ])
66
+
67
+ const existingRequest = ccipRequestCache.get(requestId)
68
+ if (existingRequest) {
69
+ responsePromises.push(existingRequest)
70
+ // eslint-disable-next-line no-continue
71
+ continue
72
+ }
73
+
74
+ const ccipRequestPromise = ccipRequestItemHandler([
75
+ wrappedSender,
76
+ wrappedUrls,
77
+ wrappedCallData,
78
+ ])
79
+ ccipRequestCache.set(requestId, ccipRequestPromise)
80
+ responsePromises.push(ccipRequestPromise)
81
+ }
82
+
83
+ const awaitedResponses = await Promise.all(responsePromises)
84
+
85
+ return awaitedResponses.reduce(
86
+ ([failures, responses], [failure, response], i) => {
87
+ failures[i] = failure
88
+ responses[i] = response
89
+ return [failures, responses] as [failures: boolean[], responses: Hex[]]
90
+ },
91
+ [[], []] as [failures: boolean[], responses: Hex[]],
92
+ )
93
+ }
@@ -0,0 +1,44 @@
1
+ import {
2
+ decodeFunctionData,
3
+ encodeFunctionResult,
4
+ isAddressEqual,
5
+ parseAbi,
6
+ ccipRequest as viemCcipRequest,
7
+ type CcipRequestParameters,
8
+ type Chain,
9
+ } from 'viem'
10
+ import { getChainContractAddress } from '../contracts/getChainContractAddress.js'
11
+ import { ccipBatchRequest } from './ccipBatchRequest.js'
12
+
13
+ const abi = parseAbi([
14
+ 'function query((address,string[],bytes)[]) returns (bool[],bytes[])',
15
+ ])
16
+
17
+ const universalResolverQuerySig = '0xa780bab6'
18
+
19
+ export const ccipRequest =
20
+ <TChain extends Chain>(chain: TChain) =>
21
+ async ({
22
+ data,
23
+ sender,
24
+ urls,
25
+ }: CcipRequestParameters): ReturnType<typeof viemCcipRequest> => {
26
+ const universalResolverAddress = getChainContractAddress({
27
+ client: { chain },
28
+ contract: 'ensUniversalResolver',
29
+ })
30
+ const isUniversalResolverRequest = isAddressEqual(
31
+ sender,
32
+ universalResolverAddress,
33
+ )
34
+ if (
35
+ isUniversalResolverRequest &&
36
+ data.slice(0, 10) === universalResolverQuerySig
37
+ ) {
38
+ const { args } = decodeFunctionData({ abi, data })
39
+ const result = await ccipBatchRequest(args[0])
40
+ return encodeFunctionResult({ abi, result })
41
+ }
42
+
43
+ return viemCcipRequest({ data, sender, urls })
44
+ }
@@ -1,3 +1,4 @@
1
+ export { ccipRequest } from './ccipRequest.js'
1
2
  export {
2
3
  getDnsTxtRecords,
3
4
  type GetDnsTxtRecordsParameters,
@@ -91,6 +92,7 @@ export {
91
92
  generateRecordCallArray,
92
93
  type RecordOptions,
93
94
  } from './generateRecordCallArray.js'
95
+ export { generateSupportedContentTypes } from './generateSupportedContentTypes.js'
94
96
  export { bytesToPacket, packetToBytes } from './hexEncodedName.js'
95
97
  export {
96
98
  checkIsDecrypted,
@@ -145,4 +147,3 @@ export {
145
147
  expiryToBigInt,
146
148
  wrappedLabelLengthCheck,
147
149
  } from './wrapper.js'
148
- export { generateSupportedContentTypes } from './generateSupportedContentTypes.js'