@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.
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/utils/ccipBatchRequest.js +67 -0
- package/dist/cjs/utils/ccipBatchRequest.js.map +1 -0
- package/dist/cjs/utils/ccipRequest.js +26 -0
- package/dist/cjs/utils/ccipRequest.js.map +1 -0
- package/dist/cjs/utils/index.js +6 -4
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/utils/ccipBatchRequest.js +64 -0
- package/dist/esm/utils/ccipBatchRequest.js.map +1 -0
- package/dist/esm/utils/ccipRequest.js +22 -0
- package/dist/esm/utils/ccipRequest.js.map +1 -0
- package/dist/esm/utils/index.js +2 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/types/clients/decorators/wallet.d.ts +2785 -5
- package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
- package/dist/types/clients/public.d.ts +5 -1
- package/dist/types/clients/public.d.ts.map +1 -1
- package/dist/types/clients/subgraph.d.ts +5 -1
- package/dist/types/clients/subgraph.d.ts.map +1 -1
- package/dist/types/clients/wallet.d.ts +2814 -34
- package/dist/types/clients/wallet.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/utils/ccipBatchRequest.d.ts +7 -0
- package/dist/types/utils/ccipBatchRequest.d.ts.map +1 -0
- package/dist/types/utils/ccipRequest.d.ts +3 -0
- package/dist/types/utils/ccipRequest.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/errors/version.ts +1 -1
- package/src/utils/ccipBatchRequest.ts +93 -0
- package/src/utils/ccipRequest.ts +44 -0
- 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
|
|
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.
|
|
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
package/src/errors/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = 'v3.
|
|
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
|
+
}
|
package/src/utils/index.ts
CHANGED
|
@@ -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'
|