@openzeppelin/contracts-mcp 0.0.5

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 (169) hide show
  1. package/LICENSE +661 -0
  2. package/NOTICE +8 -0
  3. package/README.md +100 -0
  4. package/dist/cairo/schemas.d.ts +203 -0
  5. package/dist/cairo/schemas.d.ts.map +1 -0
  6. package/dist/cairo/schemas.js +132 -0
  7. package/dist/cairo/schemas.js.map +1 -0
  8. package/dist/cairo/tools/account.d.ts +3 -0
  9. package/dist/cairo/tools/account.d.ts.map +1 -0
  10. package/dist/cairo/tools/account.js +30 -0
  11. package/dist/cairo/tools/account.js.map +1 -0
  12. package/dist/cairo/tools/custom.d.ts +3 -0
  13. package/dist/cairo/tools/custom.d.ts.map +1 -0
  14. package/dist/cairo/tools/custom.js +27 -0
  15. package/dist/cairo/tools/custom.js.map +1 -0
  16. package/dist/cairo/tools/erc1155.d.ts +3 -0
  17. package/dist/cairo/tools/erc1155.d.ts.map +1 -0
  18. package/dist/cairo/tools/erc1155.js +32 -0
  19. package/dist/cairo/tools/erc1155.js.map +1 -0
  20. package/dist/cairo/tools/erc20.d.ts +3 -0
  21. package/dist/cairo/tools/erc20.d.ts.map +1 -0
  22. package/dist/cairo/tools/erc20.js +34 -0
  23. package/dist/cairo/tools/erc20.js.map +1 -0
  24. package/dist/cairo/tools/erc721.d.ts +3 -0
  25. package/dist/cairo/tools/erc721.d.ts.map +1 -0
  26. package/dist/cairo/tools/erc721.js +36 -0
  27. package/dist/cairo/tools/erc721.js.map +1 -0
  28. package/dist/cairo/tools/governor.d.ts +3 -0
  29. package/dist/cairo/tools/governor.d.ts.map +1 -0
  30. package/dist/cairo/tools/governor.js +38 -0
  31. package/dist/cairo/tools/governor.js.map +1 -0
  32. package/dist/cairo/tools/multisig.d.ts +3 -0
  33. package/dist/cairo/tools/multisig.d.ts.map +1 -0
  34. package/dist/cairo/tools/multisig.js +26 -0
  35. package/dist/cairo/tools/multisig.js.map +1 -0
  36. package/dist/cairo/tools/vesting.d.ts +3 -0
  37. package/dist/cairo/tools/vesting.d.ts.map +1 -0
  38. package/dist/cairo/tools/vesting.js +28 -0
  39. package/dist/cairo/tools/vesting.js.map +1 -0
  40. package/dist/cairo/tools.d.ts +3 -0
  41. package/dist/cairo/tools.d.ts.map +1 -0
  42. package/dist/cairo/tools.js +29 -0
  43. package/dist/cairo/tools.js.map +1 -0
  44. package/dist/index.d.ts +3 -0
  45. package/dist/index.d.ts.map +1 -0
  46. package/dist/index.js +12 -0
  47. package/dist/index.js.map +1 -0
  48. package/dist/server.d.ts +3 -0
  49. package/dist/server.d.ts.map +1 -0
  50. package/dist/server.js +28 -0
  51. package/dist/server.js.map +1 -0
  52. package/dist/solidity/schemas.d.ts +203 -0
  53. package/dist/solidity/schemas.d.ts.map +1 -0
  54. package/dist/solidity/schemas.js +160 -0
  55. package/dist/solidity/schemas.js.map +1 -0
  56. package/dist/solidity/tools/account.d.ts +3 -0
  57. package/dist/solidity/tools/account.d.ts.map +1 -0
  58. package/dist/solidity/tools/account.js +30 -0
  59. package/dist/solidity/tools/account.js.map +1 -0
  60. package/dist/solidity/tools/custom.d.ts +3 -0
  61. package/dist/solidity/tools/custom.d.ts.map +1 -0
  62. package/dist/solidity/tools/custom.js +27 -0
  63. package/dist/solidity/tools/custom.js.map +1 -0
  64. package/dist/solidity/tools/erc1155.d.ts +3 -0
  65. package/dist/solidity/tools/erc1155.d.ts.map +1 -0
  66. package/dist/solidity/tools/erc1155.js +32 -0
  67. package/dist/solidity/tools/erc1155.js.map +1 -0
  68. package/dist/solidity/tools/erc20.d.ts +3 -0
  69. package/dist/solidity/tools/erc20.d.ts.map +1 -0
  70. package/dist/solidity/tools/erc20.js +37 -0
  71. package/dist/solidity/tools/erc20.js.map +1 -0
  72. package/dist/solidity/tools/erc721.d.ts +3 -0
  73. package/dist/solidity/tools/erc721.d.ts.map +1 -0
  74. package/dist/solidity/tools/erc721.js +35 -0
  75. package/dist/solidity/tools/erc721.js.map +1 -0
  76. package/dist/solidity/tools/governor.d.ts +3 -0
  77. package/dist/solidity/tools/governor.d.ts.map +1 -0
  78. package/dist/solidity/tools/governor.js +38 -0
  79. package/dist/solidity/tools/governor.js.map +1 -0
  80. package/dist/solidity/tools/rwa.d.ts +3 -0
  81. package/dist/solidity/tools/rwa.d.ts.map +1 -0
  82. package/dist/solidity/tools/rwa.js +38 -0
  83. package/dist/solidity/tools/rwa.js.map +1 -0
  84. package/dist/solidity/tools/stablecoin.d.ts +3 -0
  85. package/dist/solidity/tools/stablecoin.d.ts.map +1 -0
  86. package/dist/solidity/tools/stablecoin.js +38 -0
  87. package/dist/solidity/tools/stablecoin.js.map +1 -0
  88. package/dist/solidity/tools.d.ts +3 -0
  89. package/dist/solidity/tools.d.ts.map +1 -0
  90. package/dist/solidity/tools.js +29 -0
  91. package/dist/solidity/tools.js.map +1 -0
  92. package/dist/stellar/schemas.d.ts +79 -0
  93. package/dist/stellar/schemas.d.ts.map +1 -0
  94. package/dist/stellar/schemas.js +56 -0
  95. package/dist/stellar/schemas.js.map +1 -0
  96. package/dist/stellar/tools/fungible.d.ts +3 -0
  97. package/dist/stellar/tools/fungible.d.ts.map +1 -0
  98. package/dist/stellar/tools/fungible.js +31 -0
  99. package/dist/stellar/tools/fungible.js.map +1 -0
  100. package/dist/stellar/tools/non-fungible.d.ts +3 -0
  101. package/dist/stellar/tools/non-fungible.d.ts.map +1 -0
  102. package/dist/stellar/tools/non-fungible.js +32 -0
  103. package/dist/stellar/tools/non-fungible.js.map +1 -0
  104. package/dist/stellar/tools/stablecoin.d.ts +3 -0
  105. package/dist/stellar/tools/stablecoin.d.ts.map +1 -0
  106. package/dist/stellar/tools/stablecoin.js +32 -0
  107. package/dist/stellar/tools/stablecoin.js.map +1 -0
  108. package/dist/stellar/tools.d.ts +3 -0
  109. package/dist/stellar/tools.d.ts.map +1 -0
  110. package/dist/stellar/tools.js +19 -0
  111. package/dist/stellar/tools.js.map +1 -0
  112. package/dist/stylus/schemas.d.ts +60 -0
  113. package/dist/stylus/schemas.d.ts.map +1 -0
  114. package/dist/stylus/schemas.js +44 -0
  115. package/dist/stylus/schemas.js.map +1 -0
  116. package/dist/stylus/tools/erc1155.d.ts +3 -0
  117. package/dist/stylus/tools/erc1155.d.ts.map +1 -0
  118. package/dist/stylus/tools/erc1155.js +26 -0
  119. package/dist/stylus/tools/erc1155.js.map +1 -0
  120. package/dist/stylus/tools/erc20.d.ts +3 -0
  121. package/dist/stylus/tools/erc20.d.ts.map +1 -0
  122. package/dist/stylus/tools/erc20.js +27 -0
  123. package/dist/stylus/tools/erc20.js.map +1 -0
  124. package/dist/stylus/tools/erc721.d.ts +3 -0
  125. package/dist/stylus/tools/erc721.d.ts.map +1 -0
  126. package/dist/stylus/tools/erc721.js +26 -0
  127. package/dist/stylus/tools/erc721.js.map +1 -0
  128. package/dist/stylus/tools.d.ts +3 -0
  129. package/dist/stylus/tools.d.ts.map +1 -0
  130. package/dist/stylus/tools.js +19 -0
  131. package/dist/stylus/tools.js.map +1 -0
  132. package/dist/utils.d.ts +20 -0
  133. package/dist/utils.d.ts.map +1 -0
  134. package/dist/utils.js +61 -0
  135. package/dist/utils.js.map +1 -0
  136. package/package.json +40 -0
  137. package/src/cairo/schemas.ts +153 -0
  138. package/src/cairo/tools/account.ts +34 -0
  139. package/src/cairo/tools/custom.ts +31 -0
  140. package/src/cairo/tools/erc1155.ts +36 -0
  141. package/src/cairo/tools/erc20.ts +51 -0
  142. package/src/cairo/tools/erc721.ts +55 -0
  143. package/src/cairo/tools/governor.ts +59 -0
  144. package/src/cairo/tools/multisig.ts +30 -0
  145. package/src/cairo/tools/vesting.ts +32 -0
  146. package/src/cairo/tools.ts +34 -0
  147. package/src/index.ts +11 -0
  148. package/src/server.ts +30 -0
  149. package/src/solidity/schemas.ts +180 -0
  150. package/src/solidity/tools/account.ts +43 -0
  151. package/src/solidity/tools/custom.ts +31 -0
  152. package/src/solidity/tools/erc1155.ts +36 -0
  153. package/src/solidity/tools/erc20.ts +57 -0
  154. package/src/solidity/tools/erc721.ts +53 -0
  155. package/src/solidity/tools/governor.ts +59 -0
  156. package/src/solidity/tools/rwa.ts +59 -0
  157. package/src/solidity/tools/stablecoin.ts +59 -0
  158. package/src/solidity/tools.ts +34 -0
  159. package/src/stellar/schemas.ts +67 -0
  160. package/src/stellar/tools/fungible.ts +35 -0
  161. package/src/stellar/tools/non-fungible.ts +36 -0
  162. package/src/stellar/tools/stablecoin.ts +36 -0
  163. package/src/stellar/tools.ts +24 -0
  164. package/src/stylus/schemas.ts +54 -0
  165. package/src/stylus/tools/erc1155.ts +30 -0
  166. package/src/stylus/tools/erc20.ts +31 -0
  167. package/src/stylus/tools/erc721.ts +30 -0
  168. package/src/stylus/tools.ts +24 -0
  169. package/src/utils.ts +59 -0
package/README.md ADDED
@@ -0,0 +1,100 @@
1
+ # OpenZeppelin Contracts MCP Server
2
+
3
+ [![NPM Package](https://img.shields.io/npm/v/@openzeppelin/contracts-mcp)](https://www.npmjs.com/package/@openzeppelin/contracts-mcp)
4
+
5
+ A Model Context Protocol (MCP) server that allows AI agents to generate smart contracts using OpenZeppelin Contracts libraries.
6
+
7
+ This server runs locally and requires Node.js to be installed. For a hosted version, see [OpenZeppelin MCP Servers](https://mcp.openzeppelin.com/).
8
+
9
+ > [!WARNING]
10
+ > AI agents determine when and how to use the MCP server and therefore may produce inaccurate results. You should always review any information produced by the AI agent to ensure that any results are accurate and suit your purposes.
11
+
12
+ ## Features
13
+
14
+ Provides tools to generate smart contract source code for the following languages and contract kinds. Resulting contracts use OpenZeppelin Contracts libraries for each language. Tools are named in the format `<language>-<contract>`.
15
+
16
+ | Language | Contracts |
17
+ | --- | --- |
18
+ | solidity | erc20, erc721, erc1155, stablecoin, rwa, account, governor, custom |
19
+ | cairo | erc20, erc721, erc1155, account, multisig, governor, vesting, custom |
20
+ | stellar | fungible, stablecoin, non-fungible |
21
+ | stylus | erc20, erc721, erc1155 |
22
+
23
+
24
+ ## Installation
25
+
26
+ ### Cursor
27
+
28
+ For quick installation, use the button below.
29
+
30
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=OpenZeppelinContracts&config=ewogICJjb21tYW5kIjogIm5weCIsCiAgImFyZ3MiOiBbCiAgICAiLXkiLAogICAgIkBvcGVuemVwcGVsaW4vY29udHJhY3RzLW1jcCIKICBdCn0=)
31
+
32
+ For manual installation:
33
+ 1. Go to Settings > Cursor Settings > Tools & Integrations > MCP Tools > New MCP Server.
34
+ 2. Add the contents from the [Client Configuration](#client-configuration-cursorwindsurfclaude-desktop) section to your MCP configuration file and save.
35
+ 3. See the MCP server in the list.
36
+
37
+ ### Windsurf
38
+
39
+ 1. Go to Settings > Windsurf Settings > Cascade > Manage MCPs > View raw config.
40
+ 2. Add the contents from the [Client Configuration](#client-configuration-cursorwindsurfclaude-desktop) section to your MCP configuration file and save.
41
+ 3. Click Refresh on the Manage MCP Servers page.
42
+ 4. See the MCP server in the list.
43
+
44
+ ### Claude Desktop
45
+
46
+ 1. Go to Settings > Developer > Edit Config.
47
+ 2. Add the contents from the [Client Configuration](#client-configuration-cursorwindsurfclaude-desktop) section to your MCP configuration file and save.
48
+ 3. Restart Claude Desktop.
49
+ 4. Click the "Search and tools" button and see the MCP server in the list.
50
+
51
+ ### Client Configuration (Cursor/Windsurf/Claude Desktop)
52
+
53
+ ```json
54
+ {
55
+ "mcpServers": {
56
+ "OpenZeppelinContracts": {
57
+ "command": "npx",
58
+ "args": [
59
+ "-y",
60
+ "@openzeppelin/contracts-mcp"
61
+ ]
62
+ }
63
+ }
64
+ }
65
+ ```
66
+
67
+ ### Claude Code
68
+
69
+ ```sh
70
+ claude mcp add OpenZeppelinContracts -- npx -y @openzeppelin/contracts-mcp
71
+ ```
72
+
73
+ ### VS Code
74
+
75
+ For quick installation, use one of the buttons below.
76
+
77
+ [![Add to VS Code](https://img.shields.io/badge/VS_Code-NPM-0098FF?style=flat-square)](https://insiders.vscode.dev/redirect/mcp/install?name=OpenZeppelinContracts&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%20%22%40openzeppelin%2Fcontracts-mcp%22%5D%7D)
78
+ [![Add to VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-NPM-24bfa5?style=flat-square)](https://insiders.vscode.dev/redirect/mcp/install?name=OpenZeppelinContracts&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%20%22%40openzeppelin%2Fcontracts-mcp%22%5D%7D&quality=insiders)
79
+
80
+ For manual installation:
81
+ 1. Follow VS Code documentation to [Add an MCP server to your workspace](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server-to-your-workspace) using the following configuration:
82
+ ```json
83
+ {
84
+ "servers": {
85
+ "OpenZeppelinContracts": {
86
+ "type": "stdio",
87
+ "command": "npx",
88
+ "args": [
89
+ "-y",
90
+ "@openzeppelin/contracts-mcp"
91
+ ]
92
+ }
93
+ }
94
+ }
95
+ ```
96
+ 2. Start the MCP server according to [Manage MCP servers](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_manage-mcp-servers).
97
+
98
+ ## Usage
99
+
100
+ When interacting with an AI agent, for example in your IDE's Write or Agent mode, ask it to write or modify smart contracts for your use case. When the AI agent determines it is appropriate to do so, it will use the MCP server to generate the contracts or determine best practices for your use case.
@@ -0,0 +1,203 @@
1
+ import { z } from 'zod';
2
+ export declare const commonSchema: {
3
+ readonly access: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ownable">, z.ZodLiteral<"roles">]>>;
4
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
5
+ readonly info: z.ZodOptional<z.ZodObject<{
6
+ securityContact: z.ZodOptional<z.ZodString>;
7
+ license: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ securityContact?: string | undefined;
10
+ license?: string | undefined;
11
+ }, {
12
+ securityContact?: string | undefined;
13
+ license?: string | undefined;
14
+ }>>;
15
+ };
16
+ export declare const erc20Schema: {
17
+ readonly access: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ownable">, z.ZodLiteral<"roles">]>>;
18
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
19
+ readonly info: z.ZodOptional<z.ZodObject<{
20
+ securityContact: z.ZodOptional<z.ZodString>;
21
+ license: z.ZodOptional<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ securityContact?: string | undefined;
24
+ license?: string | undefined;
25
+ }, {
26
+ securityContact?: string | undefined;
27
+ license?: string | undefined;
28
+ }>>;
29
+ readonly name: z.ZodString;
30
+ readonly symbol: z.ZodString;
31
+ readonly burnable: z.ZodOptional<z.ZodBoolean>;
32
+ readonly pausable: z.ZodOptional<z.ZodBoolean>;
33
+ readonly premint: z.ZodOptional<z.ZodString>;
34
+ readonly mintable: z.ZodOptional<z.ZodBoolean>;
35
+ readonly votes: z.ZodOptional<z.ZodBoolean>;
36
+ readonly appName: z.ZodOptional<z.ZodString>;
37
+ readonly appVersion: z.ZodOptional<z.ZodString>;
38
+ };
39
+ export declare const erc721Schema: {
40
+ readonly access: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ownable">, z.ZodLiteral<"roles">]>>;
41
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
42
+ readonly info: z.ZodOptional<z.ZodObject<{
43
+ securityContact: z.ZodOptional<z.ZodString>;
44
+ license: z.ZodOptional<z.ZodString>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ securityContact?: string | undefined;
47
+ license?: string | undefined;
48
+ }, {
49
+ securityContact?: string | undefined;
50
+ license?: string | undefined;
51
+ }>>;
52
+ readonly name: z.ZodString;
53
+ readonly symbol: z.ZodString;
54
+ readonly baseUri: z.ZodOptional<z.ZodString>;
55
+ readonly burnable: z.ZodOptional<z.ZodBoolean>;
56
+ readonly pausable: z.ZodOptional<z.ZodBoolean>;
57
+ readonly mintable: z.ZodOptional<z.ZodBoolean>;
58
+ readonly enumerable: z.ZodOptional<z.ZodBoolean>;
59
+ readonly votes: z.ZodOptional<z.ZodBoolean>;
60
+ readonly royaltyInfo: z.ZodOptional<z.ZodObject<{
61
+ enabled: z.ZodBoolean;
62
+ defaultRoyaltyFraction: z.ZodString;
63
+ feeDenominator: z.ZodString;
64
+ }, "strip", z.ZodTypeAny, {
65
+ enabled: boolean;
66
+ defaultRoyaltyFraction: string;
67
+ feeDenominator: string;
68
+ }, {
69
+ enabled: boolean;
70
+ defaultRoyaltyFraction: string;
71
+ feeDenominator: string;
72
+ }>>;
73
+ readonly appName: z.ZodOptional<z.ZodString>;
74
+ readonly appVersion: z.ZodOptional<z.ZodString>;
75
+ };
76
+ export declare const erc1155Schema: {
77
+ readonly access: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ownable">, z.ZodLiteral<"roles">]>>;
78
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
79
+ readonly info: z.ZodOptional<z.ZodObject<{
80
+ securityContact: z.ZodOptional<z.ZodString>;
81
+ license: z.ZodOptional<z.ZodString>;
82
+ }, "strip", z.ZodTypeAny, {
83
+ securityContact?: string | undefined;
84
+ license?: string | undefined;
85
+ }, {
86
+ securityContact?: string | undefined;
87
+ license?: string | undefined;
88
+ }>>;
89
+ readonly name: z.ZodString;
90
+ readonly baseUri: z.ZodString;
91
+ readonly burnable: z.ZodOptional<z.ZodBoolean>;
92
+ readonly pausable: z.ZodOptional<z.ZodBoolean>;
93
+ readonly mintable: z.ZodOptional<z.ZodBoolean>;
94
+ readonly updatableUri: z.ZodOptional<z.ZodBoolean>;
95
+ readonly royaltyInfo: z.ZodOptional<z.ZodObject<{
96
+ enabled: z.ZodBoolean;
97
+ defaultRoyaltyFraction: z.ZodString;
98
+ feeDenominator: z.ZodString;
99
+ }, "strip", z.ZodTypeAny, {
100
+ enabled: boolean;
101
+ defaultRoyaltyFraction: string;
102
+ feeDenominator: string;
103
+ }, {
104
+ enabled: boolean;
105
+ defaultRoyaltyFraction: string;
106
+ feeDenominator: string;
107
+ }>>;
108
+ };
109
+ export declare const accountSchema: {
110
+ readonly name: z.ZodString;
111
+ readonly type: z.ZodEnum<["stark", "eth"]>;
112
+ readonly declare: z.ZodOptional<z.ZodBoolean>;
113
+ readonly deploy: z.ZodOptional<z.ZodBoolean>;
114
+ readonly pubkey: z.ZodOptional<z.ZodBoolean>;
115
+ readonly outsideExecution: z.ZodOptional<z.ZodBoolean>;
116
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
117
+ readonly info: z.ZodOptional<z.ZodObject<{
118
+ securityContact: z.ZodOptional<z.ZodString>;
119
+ license: z.ZodOptional<z.ZodString>;
120
+ }, "strip", z.ZodTypeAny, {
121
+ securityContact?: string | undefined;
122
+ license?: string | undefined;
123
+ }, {
124
+ securityContact?: string | undefined;
125
+ license?: string | undefined;
126
+ }>>;
127
+ };
128
+ export declare const multisigSchema: {
129
+ readonly name: z.ZodString;
130
+ readonly quorum: z.ZodString;
131
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
132
+ readonly info: z.ZodOptional<z.ZodObject<{
133
+ securityContact: z.ZodOptional<z.ZodString>;
134
+ license: z.ZodOptional<z.ZodString>;
135
+ }, "strip", z.ZodTypeAny, {
136
+ securityContact?: string | undefined;
137
+ license?: string | undefined;
138
+ }, {
139
+ securityContact?: string | undefined;
140
+ license?: string | undefined;
141
+ }>>;
142
+ };
143
+ export declare const governorSchema: {
144
+ readonly name: z.ZodString;
145
+ readonly delay: z.ZodString;
146
+ readonly period: z.ZodString;
147
+ readonly votes: z.ZodOptional<z.ZodEnum<["erc20votes", "erc721votes"]>>;
148
+ readonly clockMode: z.ZodOptional<z.ZodEnum<["timestamp"]>>;
149
+ readonly timelock: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<false>, z.ZodLiteral<"openzeppelin">]>>;
150
+ readonly decimals: z.ZodOptional<z.ZodNumber>;
151
+ readonly proposalThreshold: z.ZodOptional<z.ZodString>;
152
+ readonly quorumMode: z.ZodOptional<z.ZodEnum<["percent", "absolute"]>>;
153
+ readonly quorumPercent: z.ZodOptional<z.ZodNumber>;
154
+ readonly quorumAbsolute: z.ZodOptional<z.ZodString>;
155
+ readonly settings: z.ZodOptional<z.ZodBoolean>;
156
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
157
+ readonly appName: z.ZodOptional<z.ZodString>;
158
+ readonly appVersion: z.ZodOptional<z.ZodString>;
159
+ readonly info: z.ZodOptional<z.ZodObject<{
160
+ securityContact: z.ZodOptional<z.ZodString>;
161
+ license: z.ZodOptional<z.ZodString>;
162
+ }, "strip", z.ZodTypeAny, {
163
+ securityContact?: string | undefined;
164
+ license?: string | undefined;
165
+ }, {
166
+ securityContact?: string | undefined;
167
+ license?: string | undefined;
168
+ }>>;
169
+ };
170
+ export declare const vestingSchema: {
171
+ readonly name: z.ZodString;
172
+ readonly startDate: z.ZodString;
173
+ readonly duration: z.ZodString;
174
+ readonly cliffDuration: z.ZodString;
175
+ readonly schedule: z.ZodEnum<["linear", "custom"]>;
176
+ readonly info: z.ZodOptional<z.ZodObject<{
177
+ securityContact: z.ZodOptional<z.ZodString>;
178
+ license: z.ZodOptional<z.ZodString>;
179
+ }, "strip", z.ZodTypeAny, {
180
+ securityContact?: string | undefined;
181
+ license?: string | undefined;
182
+ }, {
183
+ securityContact?: string | undefined;
184
+ license?: string | undefined;
185
+ }>>;
186
+ };
187
+ export declare const customSchema: {
188
+ readonly access: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"ownable">, z.ZodLiteral<"roles">]>>;
189
+ readonly upgradeable: z.ZodOptional<z.ZodBoolean>;
190
+ readonly info: z.ZodOptional<z.ZodObject<{
191
+ securityContact: z.ZodOptional<z.ZodString>;
192
+ license: z.ZodOptional<z.ZodString>;
193
+ }, "strip", z.ZodTypeAny, {
194
+ securityContact?: string | undefined;
195
+ license?: string | undefined;
196
+ }, {
197
+ securityContact?: string | undefined;
198
+ license?: string | undefined;
199
+ }>>;
200
+ readonly name: z.ZodString;
201
+ readonly pausable: z.ZodOptional<z.ZodBoolean>;
202
+ };
203
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/cairo/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkCxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAUS,CAAC;AAEnC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;CAWU,CAAC;AAEnC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBS,CAAC;AAEnC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgBQ,CAAC;AAEnC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;CASQ,CAAC;AAEnC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAKO,CAAC;AAEnC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBO,CAAC;AAEnC,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAOQ,CAAC;AAEnC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAIS,CAAC"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.customSchema = exports.vestingSchema = exports.governorSchema = exports.multisigSchema = exports.accountSchema = exports.erc1155Schema = exports.erc721Schema = exports.erc20Schema = exports.commonSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const wizard_common_1 = require("@openzeppelin/wizard-common");
6
+ /**
7
+ * Static type assertions to ensure schemas satisfy the Wizard API types. Not called at runtime.
8
+ */
9
+ function _typeAssertions() {
10
+ const _assertions = {
11
+ ERC20: zod_1.z.object(exports.erc20Schema).parse({}),
12
+ ERC721: zod_1.z.object(exports.erc721Schema).parse({}),
13
+ ERC1155: zod_1.z.object(exports.erc1155Schema).parse({}),
14
+ Account: zod_1.z.object(exports.accountSchema).parse({}),
15
+ Multisig: zod_1.z.object(exports.multisigSchema).parse({}),
16
+ Governor: zod_1.z.object(exports.governorSchema).parse({}),
17
+ Vesting: zod_1.z.object(exports.vestingSchema).parse({}),
18
+ Custom: zod_1.z.object(exports.customSchema).parse({}),
19
+ };
20
+ }
21
+ exports.commonSchema = {
22
+ access: zod_1.z.literal('ownable').or(zod_1.z.literal('roles')).optional().describe(wizard_common_1.cairoCommonDescriptions.access),
23
+ upgradeable: zod_1.z.boolean().optional().describe(wizard_common_1.cairoCommonDescriptions.upgradeable),
24
+ info: zod_1.z
25
+ .object({
26
+ securityContact: zod_1.z.string().optional().describe(wizard_common_1.infoDescriptions.securityContact),
27
+ license: zod_1.z.string().optional().describe(wizard_common_1.infoDescriptions.license),
28
+ })
29
+ .optional()
30
+ .describe(wizard_common_1.infoDescriptions.info),
31
+ };
32
+ exports.erc20Schema = {
33
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
34
+ symbol: zod_1.z.string().describe(wizard_common_1.commonDescriptions.symbol),
35
+ burnable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.burnable),
36
+ pausable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.pausable),
37
+ premint: zod_1.z.string().optional().describe(wizard_common_1.cairoERC20Descriptions.premint),
38
+ mintable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.mintable),
39
+ votes: zod_1.z.boolean().optional().describe(wizard_common_1.cairoERC20Descriptions.votes),
40
+ appName: zod_1.z.string().optional().describe(wizard_common_1.cairoCommonDescriptions.appName),
41
+ appVersion: zod_1.z.string().optional().describe(wizard_common_1.cairoCommonDescriptions.appVersion),
42
+ ...exports.commonSchema,
43
+ };
44
+ exports.erc721Schema = {
45
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
46
+ symbol: zod_1.z.string().describe(wizard_common_1.commonDescriptions.symbol),
47
+ baseUri: zod_1.z.string().optional().describe(wizard_common_1.cairoERC721Descriptions.baseUri),
48
+ burnable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.burnable),
49
+ pausable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.pausable),
50
+ mintable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.mintable),
51
+ enumerable: zod_1.z.boolean().optional().describe(wizard_common_1.cairoERC721Descriptions.enumerable),
52
+ votes: zod_1.z.boolean().optional().describe(wizard_common_1.cairoERC721Descriptions.votes),
53
+ royaltyInfo: zod_1.z
54
+ .object({
55
+ enabled: zod_1.z.boolean().describe(wizard_common_1.cairoRoyaltyInfoDescriptions.enabled),
56
+ defaultRoyaltyFraction: zod_1.z.string().describe(wizard_common_1.cairoRoyaltyInfoDescriptions.defaultRoyaltyFraction),
57
+ feeDenominator: zod_1.z.string().describe(wizard_common_1.cairoRoyaltyInfoDescriptions.feeDenominator),
58
+ })
59
+ .optional()
60
+ .describe(wizard_common_1.cairoCommonDescriptions.royaltyInfo),
61
+ appName: zod_1.z.string().optional().describe(wizard_common_1.cairoCommonDescriptions.appName),
62
+ appVersion: zod_1.z.string().optional().describe(wizard_common_1.cairoCommonDescriptions.appVersion),
63
+ ...exports.commonSchema,
64
+ };
65
+ exports.erc1155Schema = {
66
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
67
+ baseUri: zod_1.z.string().describe(wizard_common_1.cairoERC1155Descriptions.baseUri),
68
+ burnable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.burnable),
69
+ pausable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.pausable),
70
+ mintable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.mintable),
71
+ updatableUri: zod_1.z.boolean().optional().describe(wizard_common_1.cairoERC1155Descriptions.updatableUri),
72
+ royaltyInfo: zod_1.z
73
+ .object({
74
+ enabled: zod_1.z.boolean().describe(wizard_common_1.cairoRoyaltyInfoDescriptions.enabled),
75
+ defaultRoyaltyFraction: zod_1.z.string().describe(wizard_common_1.cairoRoyaltyInfoDescriptions.defaultRoyaltyFraction),
76
+ feeDenominator: zod_1.z.string().describe(wizard_common_1.cairoRoyaltyInfoDescriptions.feeDenominator),
77
+ })
78
+ .optional()
79
+ .describe(wizard_common_1.cairoCommonDescriptions.royaltyInfo),
80
+ ...exports.commonSchema,
81
+ };
82
+ exports.accountSchema = {
83
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
84
+ type: zod_1.z.enum(['stark', 'eth']).describe(wizard_common_1.cairoAccountDescriptions.type),
85
+ declare: zod_1.z.boolean().optional().describe(wizard_common_1.cairoAccountDescriptions.declare),
86
+ deploy: zod_1.z.boolean().optional().describe(wizard_common_1.cairoAccountDescriptions.deploy),
87
+ pubkey: zod_1.z.boolean().optional().describe(wizard_common_1.cairoAccountDescriptions.pubkey),
88
+ outsideExecution: zod_1.z.boolean().optional().describe(wizard_common_1.cairoAccountDescriptions.outsideExecution),
89
+ upgradeable: exports.commonSchema.upgradeable,
90
+ info: exports.commonSchema.info,
91
+ };
92
+ exports.multisigSchema = {
93
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
94
+ quorum: zod_1.z.string().describe(wizard_common_1.cairoMultisigDescriptions.quorum),
95
+ upgradeable: exports.commonSchema.upgradeable,
96
+ info: exports.commonSchema.info,
97
+ };
98
+ exports.governorSchema = {
99
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
100
+ delay: zod_1.z.string().describe(wizard_common_1.cairoGovernorDescriptions.delay),
101
+ period: zod_1.z.string().describe(wizard_common_1.cairoGovernorDescriptions.period),
102
+ votes: zod_1.z.enum(['erc20votes', 'erc721votes']).optional().describe(wizard_common_1.cairoGovernorDescriptions.votes),
103
+ clockMode: zod_1.z.enum(['timestamp']).optional().describe(wizard_common_1.cairoGovernorDescriptions.clockMode),
104
+ timelock: zod_1.z
105
+ .union([zod_1.z.literal(false), zod_1.z.literal('openzeppelin')])
106
+ .optional()
107
+ .describe(wizard_common_1.cairoGovernorDescriptions.timelock),
108
+ decimals: zod_1.z.number().optional().describe(wizard_common_1.cairoGovernorDescriptions.decimals),
109
+ proposalThreshold: zod_1.z.string().optional().describe(wizard_common_1.cairoGovernorDescriptions.proposalThreshold),
110
+ quorumMode: zod_1.z.enum(['percent', 'absolute']).optional().describe(wizard_common_1.cairoGovernorDescriptions.quorumMode),
111
+ quorumPercent: zod_1.z.number().optional().describe(wizard_common_1.cairoGovernorDescriptions.quorumPercent),
112
+ quorumAbsolute: zod_1.z.string().optional().describe(wizard_common_1.cairoGovernorDescriptions.quorumAbsolute),
113
+ settings: zod_1.z.boolean().optional().describe(wizard_common_1.cairoGovernorDescriptions.settings),
114
+ upgradeable: exports.commonSchema.upgradeable,
115
+ appName: zod_1.z.string().optional().describe(wizard_common_1.cairoCommonDescriptions.appName),
116
+ appVersion: zod_1.z.string().optional().describe(wizard_common_1.cairoCommonDescriptions.appVersion),
117
+ info: exports.commonSchema.info,
118
+ };
119
+ exports.vestingSchema = {
120
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
121
+ startDate: zod_1.z.string().describe(wizard_common_1.cairoVestingDescriptions.startDate),
122
+ duration: zod_1.z.string().describe(wizard_common_1.cairoVestingDescriptions.duration),
123
+ cliffDuration: zod_1.z.string().describe(wizard_common_1.cairoVestingDescriptions.cliffDuration),
124
+ schedule: zod_1.z.enum(['linear', 'custom']).describe(wizard_common_1.cairoVestingDescriptions.schedule),
125
+ info: exports.commonSchema.info,
126
+ };
127
+ exports.customSchema = {
128
+ name: zod_1.z.string().describe(wizard_common_1.commonDescriptions.name),
129
+ pausable: zod_1.z.boolean().optional().describe(wizard_common_1.commonDescriptions.pausable),
130
+ ...exports.commonSchema,
131
+ };
132
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/cairo/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerCairoAccount(server: McpServer): RegisteredTool;
3
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/cairo/tools/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAOzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CA0BtE"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCairoAccount = registerCairoAccount;
4
+ const wizard_cairo_1 = require("@openzeppelin/wizard-cairo");
5
+ const utils_1 = require("../../utils");
6
+ const schemas_1 = require("../schemas");
7
+ const wizard_common_1 = require("@openzeppelin/wizard-common");
8
+ function registerCairoAccount(server) {
9
+ return server.tool('cairo-account', (0, utils_1.makeDetailedPrompt)(wizard_common_1.cairoPrompts.Account), schemas_1.accountSchema, async ({ name, type, declare, deploy, pubkey, outsideExecution, upgradeable, info }) => {
10
+ const opts = {
11
+ name,
12
+ type,
13
+ declare,
14
+ deploy,
15
+ pubkey,
16
+ outsideExecution,
17
+ upgradeable,
18
+ info,
19
+ };
20
+ return {
21
+ content: [
22
+ {
23
+ type: 'text',
24
+ text: (0, utils_1.safePrintCairoCodeBlock)(() => wizard_cairo_1.account.print(opts)),
25
+ },
26
+ ],
27
+ };
28
+ });
29
+ }
30
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/cairo/tools/account.ts"],"names":[],"mappings":";;AAOA,oDA0BC;AA/BD,6DAAqD;AACrD,uCAA0E;AAC1E,wCAA2C;AAC3C,+DAA2D;AAE3D,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,OAAO,MAAM,CAAC,IAAI,CAChB,eAAe,EACf,IAAA,0BAAkB,EAAC,4BAAY,CAAC,OAAO,CAAC,EACxC,uBAAa,EACb,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QACrF,MAAM,IAAI,GAAmB;YAC3B,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,MAAM;YACN,MAAM;YACN,gBAAgB;YAChB,WAAW;YACX,IAAI;SACL,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAA,+BAAuB,EAAC,GAAG,EAAE,CAAC,sBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACzD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerCairoCustom(server: McpServer): RegisteredTool;
3
+ //# sourceMappingURL=custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.d.ts","sourceRoot":"","sources":["../../../src/cairo/tools/custom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAOzF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CAuBrE"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCairoCustom = registerCairoCustom;
4
+ const wizard_cairo_1 = require("@openzeppelin/wizard-cairo");
5
+ const utils_1 = require("../../utils");
6
+ const schemas_1 = require("../schemas");
7
+ const wizard_common_1 = require("@openzeppelin/wizard-common");
8
+ function registerCairoCustom(server) {
9
+ return server.tool('cairo-custom', (0, utils_1.makeDetailedPrompt)(wizard_common_1.cairoPrompts.Custom), schemas_1.customSchema, async ({ name, pausable, access, upgradeable, info }) => {
10
+ const opts = {
11
+ name,
12
+ pausable,
13
+ access,
14
+ upgradeable,
15
+ info,
16
+ };
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: (0, utils_1.safePrintCairoCodeBlock)(() => wizard_cairo_1.custom.print(opts)),
22
+ },
23
+ ],
24
+ };
25
+ });
26
+ }
27
+ //# sourceMappingURL=custom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../../src/cairo/tools/custom.ts"],"names":[],"mappings":";;AAOA,kDAuBC;AA5BD,6DAAoD;AACpD,uCAA0E;AAC1E,wCAA0C;AAC1C,+DAA2D;AAE3D,SAAgB,mBAAmB,CAAC,MAAiB;IACnD,OAAO,MAAM,CAAC,IAAI,CAChB,cAAc,EACd,IAAA,0BAAkB,EAAC,4BAAY,CAAC,MAAM,CAAC,EACvC,sBAAY,EACZ,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QACtD,MAAM,IAAI,GAAkB;YAC1B,IAAI;YACJ,QAAQ;YACR,MAAM;YACN,WAAW;YACX,IAAI;SACL,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAA,+BAAuB,EAAC,GAAG,EAAE,CAAC,qBAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACxD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerCairoERC1155(server: McpServer): RegisteredTool;
3
+ //# sourceMappingURL=erc1155.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc1155.d.ts","sourceRoot":"","sources":["../../../src/cairo/tools/erc1155.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAOzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CA4BtE"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCairoERC1155 = registerCairoERC1155;
4
+ const wizard_cairo_1 = require("@openzeppelin/wizard-cairo");
5
+ const utils_1 = require("../../utils");
6
+ const schemas_1 = require("../schemas");
7
+ const wizard_common_1 = require("@openzeppelin/wizard-common");
8
+ function registerCairoERC1155(server) {
9
+ return server.tool('cairo-erc1155', (0, utils_1.makeDetailedPrompt)(wizard_common_1.cairoPrompts.ERC1155), schemas_1.erc1155Schema, async ({ name, baseUri, burnable, pausable, mintable, updatableUri, royaltyInfo, access, upgradeable, info }) => {
10
+ const opts = {
11
+ name,
12
+ baseUri,
13
+ burnable,
14
+ pausable,
15
+ mintable,
16
+ updatableUri,
17
+ royaltyInfo,
18
+ access,
19
+ upgradeable,
20
+ info,
21
+ };
22
+ return {
23
+ content: [
24
+ {
25
+ type: 'text',
26
+ text: (0, utils_1.safePrintCairoCodeBlock)(() => wizard_cairo_1.erc1155.print(opts)),
27
+ },
28
+ ],
29
+ };
30
+ });
31
+ }
32
+ //# sourceMappingURL=erc1155.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc1155.js","sourceRoot":"","sources":["../../../src/cairo/tools/erc1155.ts"],"names":[],"mappings":";;AAOA,oDA4BC;AAjCD,6DAAqD;AACrD,uCAA0E;AAC1E,wCAA2C;AAC3C,+DAA2D;AAE3D,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,OAAO,MAAM,CAAC,IAAI,CAChB,eAAe,EACf,IAAA,0BAAkB,EAAC,4BAAY,CAAC,OAAO,CAAC,EACxC,uBAAa,EACb,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9G,MAAM,IAAI,GAAmB;YAC3B,IAAI;YACJ,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,MAAM;YACN,WAAW;YACX,IAAI;SACL,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAA,+BAAuB,EAAC,GAAG,EAAE,CAAC,sBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACzD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerCairoERC20(server: McpServer): RegisteredTool;
3
+ //# sourceMappingURL=erc20.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../../src/cairo/tools/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAOzF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CA2CpE"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerCairoERC20 = registerCairoERC20;
4
+ const wizard_cairo_1 = require("@openzeppelin/wizard-cairo");
5
+ const utils_1 = require("../../utils");
6
+ const schemas_1 = require("../schemas");
7
+ const wizard_common_1 = require("@openzeppelin/wizard-common");
8
+ function registerCairoERC20(server) {
9
+ return server.tool('cairo-erc20', (0, utils_1.makeDetailedPrompt)(wizard_common_1.cairoPrompts.ERC20), schemas_1.erc20Schema, async ({ name, symbol, burnable, pausable, premint, mintable, votes, appName, appVersion, access, upgradeable, info, }) => {
10
+ const opts = {
11
+ name,
12
+ symbol,
13
+ burnable,
14
+ pausable,
15
+ premint,
16
+ mintable,
17
+ votes,
18
+ appName,
19
+ appVersion,
20
+ access,
21
+ upgradeable,
22
+ info,
23
+ };
24
+ return {
25
+ content: [
26
+ {
27
+ type: 'text',
28
+ text: (0, utils_1.safePrintCairoCodeBlock)(() => wizard_cairo_1.erc20.print(opts)),
29
+ },
30
+ ],
31
+ };
32
+ });
33
+ }
34
+ //# sourceMappingURL=erc20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/cairo/tools/erc20.ts"],"names":[],"mappings":";;AAOA,gDA2CC;AAhDD,6DAAmD;AACnD,uCAA0E;AAC1E,wCAAyC;AACzC,+DAA2D;AAE3D,SAAgB,kBAAkB,CAAC,MAAiB;IAClD,OAAO,MAAM,CAAC,IAAI,CAChB,aAAa,EACb,IAAA,0BAAkB,EAAC,4BAAY,CAAC,KAAK,CAAC,EACtC,qBAAW,EACX,KAAK,EAAE,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,WAAW,EACX,IAAI,GACL,EAAE,EAAE;QACH,MAAM,IAAI,GAAiB;YACzB,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,KAAK;YACL,OAAO;YACP,UAAU;YACV,MAAM;YACN,WAAW;YACX,IAAI;SACL,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAA,+BAAuB,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACvD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function registerCairoERC721(server: McpServer): RegisteredTool;
3
+ //# sourceMappingURL=erc721.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc721.d.ts","sourceRoot":"","sources":["../../../src/cairo/tools/erc721.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAOzF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,cAAc,CA+CrE"}