@zoralabs/protocol-sdk 0.2.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 (70) hide show
  1. package/.turbo/turbo-build.log +15 -0
  2. package/CHANGELOG.md +47 -0
  3. package/README.md +163 -0
  4. package/dist/anvil.d.ts +16 -0
  5. package/dist/anvil.d.ts.map +1 -0
  6. package/dist/apis/chain-constants.d.ts +21 -0
  7. package/dist/apis/chain-constants.d.ts.map +1 -0
  8. package/dist/apis/client-base.d.ts +15 -0
  9. package/dist/apis/client-base.d.ts.map +1 -0
  10. package/dist/apis/generated/discover-api-types.d.ts +2131 -0
  11. package/dist/apis/generated/discover-api-types.d.ts.map +1 -0
  12. package/dist/apis/generated/premint-api-types.d.ts +356 -0
  13. package/dist/apis/generated/premint-api-types.d.ts.map +1 -0
  14. package/dist/apis/http-api-base.d.ts +26 -0
  15. package/dist/apis/http-api-base.d.ts.map +1 -0
  16. package/dist/constants.d.ts +4 -0
  17. package/dist/constants.d.ts.map +1 -0
  18. package/dist/create/1155-create-helper.d.ts +63 -0
  19. package/dist/create/1155-create-helper.d.ts.map +1 -0
  20. package/dist/create/1155-create-helper.test.d.ts +2 -0
  21. package/dist/create/1155-create-helper.test.d.ts.map +1 -0
  22. package/dist/index.cjs +1006 -0
  23. package/dist/index.cjs.map +1 -0
  24. package/dist/index.d.ts +6 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +984 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/mint/mint-api-client.d.ts +20 -0
  29. package/dist/mint/mint-api-client.d.ts.map +1 -0
  30. package/dist/mint/mint-client.d.ts +237 -0
  31. package/dist/mint/mint-client.d.ts.map +1 -0
  32. package/dist/mint/mint-client.test.d.ts +2 -0
  33. package/dist/mint/mint-client.test.d.ts.map +1 -0
  34. package/dist/premint/premint-api-client.d.ts +19 -0
  35. package/dist/premint/premint-api-client.d.ts.map +1 -0
  36. package/dist/premint/premint-client.d.ts +320 -0
  37. package/dist/premint/premint-client.d.ts.map +1 -0
  38. package/dist/premint/premint-client.test.d.ts +2 -0
  39. package/dist/premint/premint-client.test.d.ts.map +1 -0
  40. package/dist/premint/preminter.d.ts +25 -0
  41. package/dist/premint/preminter.d.ts.map +1 -0
  42. package/dist/premint/preminter.test.d.ts +2 -0
  43. package/dist/premint/preminter.test.d.ts.map +1 -0
  44. package/dist/preminter.d.ts +25 -0
  45. package/dist/preminter.d.ts.map +1 -0
  46. package/dist/preminter.test.d.ts +451 -0
  47. package/dist/preminter.test.d.ts.map +1 -0
  48. package/package.json +28 -0
  49. package/src/anvil.ts +84 -0
  50. package/src/apis/chain-constants.ts +101 -0
  51. package/src/apis/client-base.ts +29 -0
  52. package/src/apis/generated/discover-api-types.ts +2138 -0
  53. package/src/apis/generated/premint-api-types.ts +363 -0
  54. package/src/apis/http-api-base.ts +93 -0
  55. package/src/constants.ts +10 -0
  56. package/src/create/1155-create-helper.test.ts +90 -0
  57. package/src/create/1155-create-helper.ts +342 -0
  58. package/src/index.ts +9 -0
  59. package/src/mint/mint-api-client.ts +52 -0
  60. package/src/mint/mint-client.test.ts +117 -0
  61. package/src/mint/mint-client.ts +218 -0
  62. package/src/premint/premint-api-client.ts +57 -0
  63. package/src/premint/premint-client.test.ts +196 -0
  64. package/src/premint/premint-client.ts +619 -0
  65. package/src/premint/preminter.test.ts +502 -0
  66. package/src/premint/preminter.ts +72 -0
  67. package/src/preminter.test.ts +510 -0
  68. package/src/preminter.ts +72 -0
  69. package/tsconfig.json +25 -0
  70. package/tsup.config.js +10 -0
@@ -0,0 +1,320 @@
1
+ import type { Account, Address, Chain, PublicClient, TransactionReceipt, WalletClient } from "viem";
2
+ import { zoraCreator1155PremintExecutorImplABI } from "@zoralabs/protocol-deployments";
3
+ import { PremintConfig } from "./preminter";
4
+ import type { PremintSignatureGetResponse, PremintSignatureResponse } from "./premint-api-client";
5
+ import { PremintAPIClient } from "./premint-api-client";
6
+ import type { DecodeEventLogReturnType } from "viem";
7
+ import { ClientBase } from "../apis/client-base";
8
+ type MintArgumentsSettings = {
9
+ tokenURI: string;
10
+ maxSupply?: bigint;
11
+ maxTokensPerAddress?: bigint;
12
+ pricePerToken?: bigint;
13
+ mintStart?: bigint;
14
+ mintDuration?: bigint;
15
+ royaltyMintSchedule?: number;
16
+ royaltyBPS?: number;
17
+ royaltyRecipient?: Address;
18
+ fixedPriceMinter?: Address;
19
+ };
20
+ type PremintedLogType = DecodeEventLogReturnType<typeof zoraCreator1155PremintExecutorImplABI, "Preminted">["args"];
21
+ type URLSReturnType = {
22
+ explorer: null | string;
23
+ zoraCollect: null | string;
24
+ zoraManage: null | string;
25
+ };
26
+ type SignedPremintResponse = {
27
+ urls: URLSReturnType;
28
+ uid: number;
29
+ verifyingContract: Address;
30
+ premint: PremintSignatureResponse;
31
+ };
32
+ type ExecutedPremintResponse = {
33
+ receipt: TransactionReceipt;
34
+ premintedLog?: PremintedLogType;
35
+ urls: URLSReturnType;
36
+ };
37
+ export declare const DefaultMintArguments: {
38
+ maxSupply: bigint;
39
+ maxTokensPerAddress: bigint;
40
+ pricePerToken: bigint;
41
+ mintDuration: bigint;
42
+ mintStart: bigint;
43
+ royaltyMintSchedule: number;
44
+ royaltyBPS: number;
45
+ };
46
+ /**
47
+ * Gets the preminted log from receipt
48
+ *
49
+ * @param receipt Preminted log from receipt
50
+ * @returns Premint event arguments
51
+ */
52
+ export declare function getPremintedLogFromReceipt(receipt: TransactionReceipt): PremintedLogType | undefined;
53
+ /**
54
+ * Convert server to on-chain types for a premint
55
+ *
56
+ * @param premint Premint object from the server to convert to one that's compatible with viem
57
+ * @returns Viem type-compatible premint object
58
+ */
59
+ export declare const convertPremint: (premint: PremintSignatureGetResponse["premint"]) => {
60
+ tokenConfig: {
61
+ fixedPriceMinter: `0x${string}`;
62
+ royaltyRecipient: `0x${string}`;
63
+ maxSupply: bigint;
64
+ pricePerToken: bigint;
65
+ mintStart: bigint;
66
+ mintDuration: bigint;
67
+ maxTokensPerAddress: bigint;
68
+ tokenURI: string;
69
+ royaltyMintSchedule: number;
70
+ royaltyBPS: number;
71
+ };
72
+ uid: number;
73
+ version: number;
74
+ deleted: boolean;
75
+ };
76
+ export declare const convertCollection: (collection: PremintSignatureGetResponse["collection"]) => {
77
+ contractAdmin: `0x${string}`;
78
+ contractURI: string;
79
+ contractName: string;
80
+ };
81
+ /**
82
+ * Convert on-chain types for a premint to a server safe type
83
+ *
84
+ * @param premint Premint object from viem to convert to a JSON compatible type.
85
+ * @returns JSON compatible premint
86
+ */
87
+ export declare const encodePremintForAPI: ({ tokenConfig, ...premint }: PremintConfig) => {
88
+ tokenConfig: {
89
+ maxSupply: string;
90
+ pricePerToken: string;
91
+ mintStart: string;
92
+ mintDuration: string;
93
+ maxTokensPerAddress: string;
94
+ tokenURI: string;
95
+ royaltyMintSchedule: number;
96
+ royaltyBPS: number;
97
+ royaltyRecipient: `0x${string}`;
98
+ fixedPriceMinter: `0x${string}`;
99
+ };
100
+ uid: number;
101
+ version: number;
102
+ deleted: boolean;
103
+ };
104
+ /**
105
+ * Preminter API to access ZORA Premint functionality.
106
+ * Currently only supports V1 premints.
107
+ */
108
+ export declare class PremintClient extends ClientBase {
109
+ apiClient: typeof PremintAPIClient;
110
+ constructor(chain: Chain, apiClient?: typeof PremintAPIClient);
111
+ /**
112
+ * The premint executor address is deployed to the same address across all chains.
113
+ * Can be overridden as needed by making a parent class.
114
+ *
115
+ * @returns Executor address for premints
116
+ */
117
+ getExecutorAddress(): "0x7777773606e7e46C8Ba8B98C08f5cD218e31d340";
118
+ /**
119
+ * The fixed price minter address is the same across all chains for our current
120
+ * deployer strategy.
121
+ * Can be overridden as needed by making a parent class.
122
+ *
123
+ * @returns Fixed price sale strategy
124
+ */
125
+ getFixedPriceMinterAddress(): "0x04E2516A2c207E84a1839755675dfd8eF6302F0a";
126
+ /**
127
+ * Update existing premint given collection address and UID of existing premint.
128
+ *
129
+ * 1. Loads existing premint token
130
+ * 2. Updates with settings passed into function
131
+ * 3. Increments the version field
132
+ * 4. Re-signs the premint
133
+ * 5. Uploads the premint to the ZORA API
134
+ *
135
+ * Updates existing premint
136
+ * @param settings Settings for the new premint
137
+ * @param settings.account Account to sign the premint update from. Taken from walletClient if none passed in.
138
+ * @param settings.collection Collection information for the mint
139
+ * @param settings.walletClient viem wallet client to use to sign
140
+ * @param settings.uid UID
141
+ * @param settings.token Mint argument settings, optional settings are overridden with sensible defaults.
142
+ *
143
+ */
144
+ updatePremint({ walletClient, uid, collection, token, account, }: {
145
+ walletClient: WalletClient;
146
+ uid: number;
147
+ token: MintArgumentsSettings;
148
+ account?: Account | Address;
149
+ collection: Address;
150
+ }): Promise<SignedPremintResponse>;
151
+ /**
152
+ * Delete premint.
153
+ *
154
+ * 1. Loads current premint from collection address with UID
155
+ * 2. Increments version and marks as deleted
156
+ * 3. Signs new premint version
157
+ * 4. Sends to ZORA Premint API
158
+ *
159
+ * Deletes existing premint
160
+ * @param settings.collection collection address
161
+ * @param settings.uid UID
162
+ * @param settings.walletClient viem wallet client to use to sign
163
+ *
164
+ */
165
+ deletePremint({ walletClient, uid, account, collection, publicClient, }: {
166
+ walletClient: WalletClient;
167
+ publicClient: PublicClient;
168
+ uid: number;
169
+ account?: Account | Address;
170
+ collection: Address;
171
+ }): Promise<{
172
+ urls: URLSReturnType;
173
+ uid: number;
174
+ verifyingContract: `0x${string}`;
175
+ premint: {
176
+ collection: {
177
+ contractAdmin: string;
178
+ contractURI: string;
179
+ contractName: string;
180
+ };
181
+ premint: {
182
+ tokenConfig: {
183
+ tokenURI: string;
184
+ maxSupply: string;
185
+ maxTokensPerAddress: string;
186
+ pricePerToken: string;
187
+ mintStart: string;
188
+ mintDuration: string;
189
+ royaltyMintSchedule: number;
190
+ royaltyBPS: number;
191
+ royaltyRecipient: string;
192
+ fixedPriceMinter: string;
193
+ };
194
+ uid: number;
195
+ version: number;
196
+ deleted: boolean;
197
+ };
198
+ chain_name: "ETHEREUM-MAINNET" | "ETHEREUM-ROPSTEN" | "ETHEREUM-RINKEBY" | "ETHEREUM-GOERLI" | "ETHEREUM-SEPOLIA" | "OPTIMISM-MAINNET" | "OPTIMISM-GOERLI" | "ZORA-GOERLI" | "ZORA-MAINNET" | "BASE-MAINNET" | "BASE-GOERLI" | "PGN-MAINNET";
199
+ signature: string;
200
+ };
201
+ }>;
202
+ /**
203
+ * Internal function to sign and submit a premint request.
204
+ *
205
+ * @param premintArguments Arguments to premint
206
+ * @returns
207
+ */
208
+ private signAndSubmitPremint;
209
+ /**
210
+ * Create premint
211
+ *
212
+ * @param settings Settings for the new premint
213
+ * @param settings.account Account to sign the premint with. Taken from walletClient if none passed in.
214
+ * @param settings.collection Collection information for the mint
215
+ * @param settings.token Mint argument settings, optional settings are overridden with sensible defaults.
216
+ * @param settings.publicClient Public client (optional) – instantiated if not passed in with defaults.
217
+ * @param settings.walletClient Required wallet client for signing the premint message.
218
+ * @param settings.executionSettings Execution settings for premint options
219
+ * @param settings.executionSettings.deleted If this UID should be deleted. If omitted, set to false.
220
+ * @param settings.executionSettings.uid the UID to use – optional and retrieved as a fresh UID from ZORA by default.
221
+ * @param settings.checkSignature if the signature should have a pre-flight check. Not required but helpful for debugging.
222
+ * @returns premint url, uid, newContractAddress, and premint object
223
+ */
224
+ createPremint({ account, collection, token, publicClient, walletClient, executionSettings, checkSignature, }: {
225
+ account: Address;
226
+ checkSignature?: boolean;
227
+ walletClient: WalletClient;
228
+ collection: PremintSignatureGetResponse["collection"];
229
+ token: MintArgumentsSettings;
230
+ publicClient?: PublicClient;
231
+ executionSettings?: {
232
+ deleted?: boolean;
233
+ uid?: number;
234
+ };
235
+ }): Promise<{
236
+ urls: URLSReturnType;
237
+ uid: number;
238
+ verifyingContract: `0x${string}`;
239
+ premint: {
240
+ collection: {
241
+ contractAdmin: string;
242
+ contractURI: string;
243
+ contractName: string;
244
+ };
245
+ premint: {
246
+ tokenConfig: {
247
+ tokenURI: string;
248
+ maxSupply: string;
249
+ maxTokensPerAddress: string;
250
+ pricePerToken: string;
251
+ mintStart: string;
252
+ mintDuration: string;
253
+ royaltyMintSchedule: number;
254
+ royaltyBPS: number;
255
+ royaltyRecipient: string;
256
+ fixedPriceMinter: string;
257
+ };
258
+ uid: number;
259
+ version: number;
260
+ deleted: boolean;
261
+ };
262
+ chain_name: "ETHEREUM-MAINNET" | "ETHEREUM-ROPSTEN" | "ETHEREUM-RINKEBY" | "ETHEREUM-GOERLI" | "ETHEREUM-SEPOLIA" | "OPTIMISM-MAINNET" | "OPTIMISM-GOERLI" | "ZORA-GOERLI" | "ZORA-MAINNET" | "BASE-MAINNET" | "BASE-GOERLI" | "PGN-MAINNET";
263
+ signature: string;
264
+ };
265
+ }>;
266
+ /**
267
+ * Fetches given premint data from the ZORA API.
268
+ *
269
+ * @param address Address for the premint contract
270
+ * @param uid UID for the desired premint
271
+ * @returns PremintSignatureGetResponse of premint data from the API
272
+ */
273
+ getPremintData({ address, uid, }: {
274
+ address: string;
275
+ uid: number;
276
+ }): Promise<PremintSignatureGetResponse>;
277
+ /**
278
+ * Check user signature for v1
279
+ *
280
+ * @param data Signature data from the API
281
+ * @returns isValid = signature is valid or not, contractAddress = assumed contract address, recoveredSigner = signer from contract
282
+ */
283
+ isValidSignature({ data, publicClient, }: {
284
+ data: PremintSignatureGetResponse;
285
+ publicClient?: PublicClient;
286
+ }): Promise<{
287
+ isValid: boolean;
288
+ contractAddress: Address;
289
+ recoveredSigner: Address;
290
+ }>;
291
+ protected makeUrls({ uid, address, tokenId, }: {
292
+ uid?: number;
293
+ tokenId?: bigint;
294
+ address?: Address;
295
+ }): URLSReturnType;
296
+ /**
297
+ * Execute premint on-chain
298
+ *
299
+ * @param settings.data Data from the API for the mint
300
+ * @param settings.account Optional account (if omitted taken from wallet client) for the account executing the premint.
301
+ * @param settings.walletClient WalletClient to send execution from.
302
+ * @param settings.mintArguments User minting arguments.
303
+ * @param settings.mintArguments.quantityToMint Quantity to mint, optional, defaults to 1.
304
+ * @param settings.mintArguments.mintComment Optional mint comment, optional, omits when not included.
305
+ * @param settings.publicClient Optional public client for preflight checks.
306
+ * @returns receipt, log, zoraURL
307
+ */
308
+ executePremintWithWallet({ data, account, walletClient, mintArguments, publicClient, }: {
309
+ data: PremintSignatureGetResponse;
310
+ walletClient: WalletClient;
311
+ account?: Account | Address;
312
+ mintArguments?: {
313
+ quantityToMint: number;
314
+ mintComment?: string;
315
+ };
316
+ publicClient?: PublicClient;
317
+ }): Promise<ExecutedPremintResponse>;
318
+ }
319
+ export {};
320
+ //# sourceMappingURL=premint-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premint-client.d.ts","sourceRoot":"","sources":["../../src/premint/premint-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=premint-client.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"premint-client.test.d.ts","sourceRoot":"","sources":["../../src/premint/premint-client.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { Address } from "abitype";
2
+ import { ExtractAbiFunction, AbiParametersToPrimitiveTypes } from "abitype";
3
+ import { zoraCreator1155PremintExecutorImplABI as preminterAbi } from "@zoralabs/protocol-deployments";
4
+ import { TypedDataDefinition } from "viem";
5
+ type PremintInputs = ExtractAbiFunction<typeof preminterAbi, "premint">["inputs"];
6
+ type PreminterHashDataTypes = AbiParametersToPrimitiveTypes<PremintInputs>;
7
+ export type ContractCreationConfig = PreminterHashDataTypes[0];
8
+ export type PremintConfig = PreminterHashDataTypes[1];
9
+ export type TokenCreationConfig = PremintConfig["tokenConfig"];
10
+ export declare const preminterTypedDataDefinition: ({ verifyingContract, premintConfig, chainId, }: {
11
+ verifyingContract: Address;
12
+ premintConfig: PremintConfig;
13
+ chainId: number;
14
+ }) => TypedDataDefinition<{
15
+ CreatorAttribution: {
16
+ name: string;
17
+ type: string;
18
+ }[];
19
+ TokenCreationConfig: {
20
+ name: string;
21
+ type: string;
22
+ }[];
23
+ }, "CreatorAttribution">;
24
+ export {};
25
+ //# sourceMappingURL=preminter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preminter.d.ts","sourceRoot":"","sources":["../../src/premint/preminter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,qCAAqC,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,KAAK,aAAa,GAAG,kBAAkB,CACrC,OAAO,YAAY,EACnB,SAAS,CACV,CAAC,QAAQ,CAAC,CAAC;AAEZ,KAAK,sBAAsB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAI/D,eAAO,MAAM,4BAA4B;uBAKpB,OAAO;mBACX,aAAa;aACnB,MAAM;;;;;;;;;;wBA8ChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=preminter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preminter.test.d.ts","sourceRoot":"","sources":["../../src/premint/preminter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { Address } from "abitype";
2
+ import { ExtractAbiFunction, AbiParametersToPrimitiveTypes } from "abitype";
3
+ import { zoraCreator1155PremintExecutorImplABI as preminterAbi } from "@zoralabs/protocol-deployments";
4
+ import { TypedDataDefinition } from "viem";
5
+ type PremintInputs = ExtractAbiFunction<typeof preminterAbi, "premint">["inputs"];
6
+ type PreminterHashDataTypes = AbiParametersToPrimitiveTypes<PremintInputs>;
7
+ export type ContractCreationConfig = PreminterHashDataTypes[0];
8
+ export type PremintConfig = PreminterHashDataTypes[1];
9
+ export type TokenCreationConfig = PremintConfig["tokenConfig"];
10
+ export declare const preminterTypedDataDefinition: ({ verifyingContract, premintConfig, chainId, }: {
11
+ verifyingContract: Address;
12
+ premintConfig: PremintConfig;
13
+ chainId: number;
14
+ }) => TypedDataDefinition<{
15
+ CreatorAttribution: {
16
+ name: string;
17
+ type: string;
18
+ }[];
19
+ TokenCreationConfig: {
20
+ name: string;
21
+ type: string;
22
+ }[];
23
+ }, "CreatorAttribution">;
24
+ export {};
25
+ //# sourceMappingURL=preminter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preminter.d.ts","sourceRoot":"","sources":["../src/preminter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,qCAAqC,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACvG,OAAO,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAE3C,KAAK,aAAa,GAAG,kBAAkB,CACrC,OAAO,YAAY,EACnB,SAAS,CACV,CAAC,QAAQ,CAAC,CAAC;AAEZ,KAAK,sBAAsB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;AAE3E,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACtD,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAI/D,eAAO,MAAM,4BAA4B;uBAKpB,OAAO;mBACX,aAAa;aACnB,MAAM;;;;;;;;;;wBA8ChB,CAAC"}