@kasarlabs/erc20-mcp 0.1.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 (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/bin/erc20-mcp.js +14 -0
  4. package/build/index.d.ts +2 -0
  5. package/build/index.js +128 -0
  6. package/build/index.js.map +1 -0
  7. package/build/lib/abis/new.d.ts +184 -0
  8. package/build/lib/abis/new.js +576 -0
  9. package/build/lib/abis/new.js.map +1 -0
  10. package/build/lib/abis/old.d.ts +122 -0
  11. package/build/lib/abis/old.js +1030 -0
  12. package/build/lib/abis/old.js.map +1 -0
  13. package/build/lib/constants/constant.d.ts +5 -0
  14. package/build/lib/constants/constant.js +36 -0
  15. package/build/lib/constants/constant.js.map +1 -0
  16. package/build/lib/dependances/types.d.ts +85 -0
  17. package/build/lib/dependances/types.js +51 -0
  18. package/build/lib/dependances/types.js.map +1 -0
  19. package/build/lib/types/types.d.ts +32 -0
  20. package/build/lib/types/types.js +6 -0
  21. package/build/lib/types/types.js.map +1 -0
  22. package/build/lib/utils/contractManager.d.ts +9 -0
  23. package/build/lib/utils/contractManager.js +26 -0
  24. package/build/lib/utils/contractManager.js.map +1 -0
  25. package/build/lib/utils/utils.d.ts +129 -0
  26. package/build/lib/utils/utils.js +176 -0
  27. package/build/lib/utils/utils.js.map +1 -0
  28. package/build/schemas/index.d.ts +370 -0
  29. package/build/schemas/index.js +88 -0
  30. package/build/schemas/index.js.map +1 -0
  31. package/build/tools/approve.d.ts +20 -0
  32. package/build/tools/approve.js +35 -0
  33. package/build/tools/approve.js.map +1 -0
  34. package/build/tools/deployERC20.d.ts +14 -0
  35. package/build/tools/deployERC20.js +32 -0
  36. package/build/tools/deployERC20.js.map +1 -0
  37. package/build/tools/getAllowance.d.ts +48 -0
  38. package/build/tools/getAllowance.js +74 -0
  39. package/build/tools/getAllowance.js.map +1 -0
  40. package/build/tools/getBalance.d.ts +25 -0
  41. package/build/tools/getBalance.js +62 -0
  42. package/build/tools/getBalance.js.map +1 -0
  43. package/build/tools/getTotalSupply.d.ts +14 -0
  44. package/build/tools/getTotalSupply.js +25 -0
  45. package/build/tools/getTotalSupply.js.map +1 -0
  46. package/build/tools/transfer.d.ts +10 -0
  47. package/build/tools/transfer.js +46 -0
  48. package/build/tools/transfer.js.map +1 -0
  49. package/build/tools/transferFrom.d.ts +12 -0
  50. package/build/tools/transferFrom.js +36 -0
  51. package/build/tools/transferFrom.js.map +1 -0
  52. package/package.json +43 -0
@@ -0,0 +1,576 @@
1
+ export const NEW_ERC20_ABI_SEPOLIA = [
2
+ {
3
+ name: 'ERC20MixinImpl',
4
+ type: 'impl',
5
+ interface_name: 'openzeppelin_token::erc20::interface::IERC20Mixin',
6
+ },
7
+ {
8
+ name: 'core::integer::u256',
9
+ type: 'struct',
10
+ members: [
11
+ {
12
+ name: 'low',
13
+ type: 'core::integer::u128',
14
+ },
15
+ {
16
+ name: 'high',
17
+ type: 'core::integer::u128',
18
+ },
19
+ ],
20
+ },
21
+ {
22
+ name: 'core::bool',
23
+ type: 'enum',
24
+ variants: [
25
+ {
26
+ name: 'False',
27
+ type: '()',
28
+ },
29
+ {
30
+ name: 'True',
31
+ type: '()',
32
+ },
33
+ ],
34
+ },
35
+ {
36
+ name: 'core::byte_array::ByteArray',
37
+ type: 'struct',
38
+ members: [
39
+ {
40
+ name: 'data',
41
+ type: 'core::array::Array::<core::bytes_31::bytes31>',
42
+ },
43
+ {
44
+ name: 'pending_word',
45
+ type: 'core::felt252',
46
+ },
47
+ {
48
+ name: 'pending_word_len',
49
+ type: 'core::integer::u32',
50
+ },
51
+ ],
52
+ },
53
+ {
54
+ name: 'openzeppelin_token::erc20::interface::IERC20Mixin',
55
+ type: 'interface',
56
+ items: [
57
+ {
58
+ name: 'total_supply',
59
+ type: 'function',
60
+ inputs: [],
61
+ outputs: [
62
+ {
63
+ type: 'core::integer::u256',
64
+ },
65
+ ],
66
+ state_mutability: 'view',
67
+ },
68
+ {
69
+ name: 'balance_of',
70
+ type: 'function',
71
+ inputs: [
72
+ {
73
+ name: 'account',
74
+ type: 'core::starknet::contract_address::ContractAddress',
75
+ },
76
+ ],
77
+ outputs: [
78
+ {
79
+ type: 'core::integer::u256',
80
+ },
81
+ ],
82
+ state_mutability: 'view',
83
+ },
84
+ {
85
+ name: 'allowance',
86
+ type: 'function',
87
+ inputs: [
88
+ {
89
+ name: 'owner',
90
+ type: 'core::starknet::contract_address::ContractAddress',
91
+ },
92
+ {
93
+ name: 'spender',
94
+ type: 'core::starknet::contract_address::ContractAddress',
95
+ },
96
+ ],
97
+ outputs: [
98
+ {
99
+ type: 'core::integer::u256',
100
+ },
101
+ ],
102
+ state_mutability: 'view',
103
+ },
104
+ {
105
+ name: 'transfer',
106
+ type: 'function',
107
+ inputs: [
108
+ {
109
+ name: 'recipient',
110
+ type: 'core::starknet::contract_address::ContractAddress',
111
+ },
112
+ {
113
+ name: 'amount',
114
+ type: 'core::integer::u256',
115
+ },
116
+ ],
117
+ outputs: [
118
+ {
119
+ type: 'core::bool',
120
+ },
121
+ ],
122
+ state_mutability: 'external',
123
+ },
124
+ {
125
+ name: 'transfer_from',
126
+ type: 'function',
127
+ inputs: [
128
+ {
129
+ name: 'sender',
130
+ type: 'core::starknet::contract_address::ContractAddress',
131
+ },
132
+ {
133
+ name: 'recipient',
134
+ type: 'core::starknet::contract_address::ContractAddress',
135
+ },
136
+ {
137
+ name: 'amount',
138
+ type: 'core::integer::u256',
139
+ },
140
+ ],
141
+ outputs: [
142
+ {
143
+ type: 'core::bool',
144
+ },
145
+ ],
146
+ state_mutability: 'external',
147
+ },
148
+ {
149
+ name: 'approve',
150
+ type: 'function',
151
+ inputs: [
152
+ {
153
+ name: 'spender',
154
+ type: 'core::starknet::contract_address::ContractAddress',
155
+ },
156
+ {
157
+ name: 'amount',
158
+ type: 'core::integer::u256',
159
+ },
160
+ ],
161
+ outputs: [
162
+ {
163
+ type: 'core::bool',
164
+ },
165
+ ],
166
+ state_mutability: 'external',
167
+ },
168
+ {
169
+ name: 'name',
170
+ type: 'function',
171
+ inputs: [],
172
+ outputs: [
173
+ {
174
+ type: 'core::byte_array::ByteArray',
175
+ },
176
+ ],
177
+ state_mutability: 'view',
178
+ },
179
+ {
180
+ name: 'symbol',
181
+ type: 'function',
182
+ inputs: [],
183
+ outputs: [
184
+ {
185
+ type: 'core::byte_array::ByteArray',
186
+ },
187
+ ],
188
+ state_mutability: 'view',
189
+ },
190
+ {
191
+ name: 'decimals',
192
+ type: 'function',
193
+ inputs: [],
194
+ outputs: [
195
+ {
196
+ type: 'core::integer::u8',
197
+ },
198
+ ],
199
+ state_mutability: 'view',
200
+ },
201
+ {
202
+ name: 'totalSupply',
203
+ type: 'function',
204
+ inputs: [],
205
+ outputs: [
206
+ {
207
+ type: 'core::integer::u256',
208
+ },
209
+ ],
210
+ state_mutability: 'view',
211
+ },
212
+ {
213
+ name: 'balanceOf',
214
+ type: 'function',
215
+ inputs: [
216
+ {
217
+ name: 'account',
218
+ type: 'core::starknet::contract_address::ContractAddress',
219
+ },
220
+ ],
221
+ outputs: [
222
+ {
223
+ type: 'core::integer::u256',
224
+ },
225
+ ],
226
+ state_mutability: 'view',
227
+ },
228
+ {
229
+ name: 'transferFrom',
230
+ type: 'function',
231
+ inputs: [
232
+ {
233
+ name: 'sender',
234
+ type: 'core::starknet::contract_address::ContractAddress',
235
+ },
236
+ {
237
+ name: 'recipient',
238
+ type: 'core::starknet::contract_address::ContractAddress',
239
+ },
240
+ {
241
+ name: 'amount',
242
+ type: 'core::integer::u256',
243
+ },
244
+ ],
245
+ outputs: [
246
+ {
247
+ type: 'core::bool',
248
+ },
249
+ ],
250
+ state_mutability: 'external',
251
+ },
252
+ ],
253
+ },
254
+ {
255
+ name: 'constructor',
256
+ type: 'constructor',
257
+ inputs: [
258
+ {
259
+ name: 'name',
260
+ type: 'core::byte_array::ByteArray',
261
+ },
262
+ {
263
+ name: 'symbol',
264
+ type: 'core::byte_array::ByteArray',
265
+ },
266
+ {
267
+ name: 'fixed_supply',
268
+ type: 'core::integer::u256',
269
+ },
270
+ {
271
+ name: 'recipient',
272
+ type: 'core::starknet::contract_address::ContractAddress',
273
+ },
274
+ ],
275
+ },
276
+ {
277
+ kind: 'struct',
278
+ name: 'openzeppelin_token::erc20::erc20::ERC20Component::Transfer',
279
+ type: 'event',
280
+ members: [
281
+ {
282
+ kind: 'key',
283
+ name: 'from',
284
+ type: 'core::starknet::contract_address::ContractAddress',
285
+ },
286
+ {
287
+ kind: 'key',
288
+ name: 'to',
289
+ type: 'core::starknet::contract_address::ContractAddress',
290
+ },
291
+ {
292
+ kind: 'data',
293
+ name: 'value',
294
+ type: 'core::integer::u256',
295
+ },
296
+ ],
297
+ },
298
+ {
299
+ kind: 'struct',
300
+ name: 'openzeppelin_token::erc20::erc20::ERC20Component::Approval',
301
+ type: 'event',
302
+ members: [
303
+ {
304
+ kind: 'key',
305
+ name: 'owner',
306
+ type: 'core::starknet::contract_address::ContractAddress',
307
+ },
308
+ {
309
+ kind: 'key',
310
+ name: 'spender',
311
+ type: 'core::starknet::contract_address::ContractAddress',
312
+ },
313
+ {
314
+ kind: 'data',
315
+ name: 'value',
316
+ type: 'core::integer::u256',
317
+ },
318
+ ],
319
+ },
320
+ {
321
+ kind: 'enum',
322
+ name: 'openzeppelin_token::erc20::erc20::ERC20Component::Event',
323
+ type: 'event',
324
+ variants: [
325
+ {
326
+ kind: 'nested',
327
+ name: 'Transfer',
328
+ type: 'openzeppelin_token::erc20::erc20::ERC20Component::Transfer',
329
+ },
330
+ {
331
+ kind: 'nested',
332
+ name: 'Approval',
333
+ type: 'openzeppelin_token::erc20::erc20::ERC20Component::Approval',
334
+ },
335
+ ],
336
+ },
337
+ {
338
+ kind: 'enum',
339
+ name: 'token::erc20::ERC20Token::Event',
340
+ type: 'event',
341
+ variants: [
342
+ {
343
+ kind: 'flat',
344
+ name: 'ERC20Event',
345
+ type: 'openzeppelin_token::erc20::erc20::ERC20Component::Event',
346
+ },
347
+ ],
348
+ },
349
+ ];
350
+ export const NEW_ERC20_ABI_MAINNET = [
351
+ {
352
+ type: 'impl',
353
+ name: 'ERC20MetadataImpl',
354
+ interface_name: 'token::erc20::ERC20Token::IERC20Metadata',
355
+ },
356
+ {
357
+ type: 'struct',
358
+ name: 'core::byte_array::ByteArray',
359
+ members: [
360
+ { name: 'data', type: 'core::array::Array::<core::bytes_31::bytes31>' },
361
+ { name: 'pending_word', type: 'core::felt252' },
362
+ { name: 'pending_word_len', type: 'core::integer::u32' },
363
+ ],
364
+ },
365
+ {
366
+ type: 'interface',
367
+ name: 'token::erc20::ERC20Token::IERC20Metadata',
368
+ items: [
369
+ {
370
+ type: 'function',
371
+ name: 'name',
372
+ inputs: [],
373
+ outputs: [{ type: 'core::byte_array::ByteArray' }],
374
+ state_mutability: 'view',
375
+ },
376
+ {
377
+ type: 'function',
378
+ name: 'symbol',
379
+ inputs: [],
380
+ outputs: [{ type: 'core::byte_array::ByteArray' }],
381
+ state_mutability: 'view',
382
+ },
383
+ {
384
+ type: 'function',
385
+ name: 'decimals',
386
+ inputs: [],
387
+ outputs: [{ type: 'core::integer::u8' }],
388
+ state_mutability: 'view',
389
+ },
390
+ ],
391
+ },
392
+ {
393
+ type: 'impl',
394
+ name: 'ERC20MixinImpl',
395
+ interface_name: 'openzeppelin::token::erc20::interface::IERC20',
396
+ },
397
+ {
398
+ type: 'struct',
399
+ name: 'core::integer::u256',
400
+ members: [
401
+ { name: 'low', type: 'core::integer::u128' },
402
+ { name: 'high', type: 'core::integer::u128' },
403
+ ],
404
+ },
405
+ {
406
+ type: 'enum',
407
+ name: 'core::bool',
408
+ variants: [
409
+ { name: 'False', type: '()' },
410
+ { name: 'True', type: '()' },
411
+ ],
412
+ },
413
+ {
414
+ type: 'interface',
415
+ name: 'openzeppelin::token::erc20::interface::IERC20',
416
+ items: [
417
+ {
418
+ type: 'function',
419
+ name: 'total_supply',
420
+ inputs: [],
421
+ outputs: [{ type: 'core::integer::u256' }],
422
+ state_mutability: 'view',
423
+ },
424
+ {
425
+ type: 'function',
426
+ name: 'balance_of',
427
+ inputs: [
428
+ {
429
+ name: 'account',
430
+ type: 'core::starknet::contract_address::ContractAddress',
431
+ },
432
+ ],
433
+ outputs: [{ type: 'core::integer::u256' }],
434
+ state_mutability: 'view',
435
+ },
436
+ {
437
+ type: 'function',
438
+ name: 'allowance',
439
+ inputs: [
440
+ {
441
+ name: 'owner',
442
+ type: 'core::starknet::contract_address::ContractAddress',
443
+ },
444
+ {
445
+ name: 'spender',
446
+ type: 'core::starknet::contract_address::ContractAddress',
447
+ },
448
+ ],
449
+ outputs: [{ type: 'core::integer::u256' }],
450
+ state_mutability: 'view',
451
+ },
452
+ {
453
+ type: 'function',
454
+ name: 'transfer',
455
+ inputs: [
456
+ {
457
+ name: 'recipient',
458
+ type: 'core::starknet::contract_address::ContractAddress',
459
+ },
460
+ { name: 'amount', type: 'core::integer::u256' },
461
+ ],
462
+ outputs: [{ type: 'core::bool' }],
463
+ state_mutability: 'external',
464
+ },
465
+ {
466
+ type: 'function',
467
+ name: 'transfer_from',
468
+ inputs: [
469
+ {
470
+ name: 'sender',
471
+ type: 'core::starknet::contract_address::ContractAddress',
472
+ },
473
+ {
474
+ name: 'recipient',
475
+ type: 'core::starknet::contract_address::ContractAddress',
476
+ },
477
+ { name: 'amount', type: 'core::integer::u256' },
478
+ ],
479
+ outputs: [{ type: 'core::bool' }],
480
+ state_mutability: 'external',
481
+ },
482
+ {
483
+ type: 'function',
484
+ name: 'approve',
485
+ inputs: [
486
+ {
487
+ name: 'spender',
488
+ type: 'core::starknet::contract_address::ContractAddress',
489
+ },
490
+ { name: 'amount', type: 'core::integer::u256' },
491
+ ],
492
+ outputs: [{ type: 'core::bool' }],
493
+ state_mutability: 'external',
494
+ },
495
+ ],
496
+ },
497
+ {
498
+ type: 'constructor',
499
+ name: 'constructor',
500
+ inputs: [
501
+ { name: 'name', type: 'core::byte_array::ByteArray' },
502
+ { name: 'symbol', type: 'core::byte_array::ByteArray' },
503
+ { name: 'fixed_supply', type: 'core::integer::u256' },
504
+ {
505
+ name: 'recipient',
506
+ type: 'core::starknet::contract_address::ContractAddress',
507
+ },
508
+ ],
509
+ },
510
+ {
511
+ type: 'event',
512
+ name: 'openzeppelin::token::erc20::erc20::ERC20Component::Transfer',
513
+ kind: 'struct',
514
+ members: [
515
+ {
516
+ name: 'from',
517
+ type: 'core::starknet::contract_address::ContractAddress',
518
+ kind: 'key',
519
+ },
520
+ {
521
+ name: 'to',
522
+ type: 'core::starknet::contract_address::ContractAddress',
523
+ kind: 'key',
524
+ },
525
+ { name: 'value', type: 'core::integer::u256', kind: 'data' },
526
+ ],
527
+ },
528
+ {
529
+ type: 'event',
530
+ name: 'openzeppelin::token::erc20::erc20::ERC20Component::Approval',
531
+ kind: 'struct',
532
+ members: [
533
+ {
534
+ name: 'owner',
535
+ type: 'core::starknet::contract_address::ContractAddress',
536
+ kind: 'key',
537
+ },
538
+ {
539
+ name: 'spender',
540
+ type: 'core::starknet::contract_address::ContractAddress',
541
+ kind: 'key',
542
+ },
543
+ { name: 'value', type: 'core::integer::u256', kind: 'data' },
544
+ ],
545
+ },
546
+ {
547
+ type: 'event',
548
+ name: 'openzeppelin::token::erc20::erc20::ERC20Component::Event',
549
+ kind: 'enum',
550
+ variants: [
551
+ {
552
+ name: 'Transfer',
553
+ type: 'openzeppelin::token::erc20::erc20::ERC20Component::Transfer',
554
+ kind: 'nested',
555
+ },
556
+ {
557
+ name: 'Approval',
558
+ type: 'openzeppelin::token::erc20::erc20::ERC20Component::Approval',
559
+ kind: 'nested',
560
+ },
561
+ ],
562
+ },
563
+ {
564
+ type: 'event',
565
+ name: 'token::erc20::ERC20Token::Event',
566
+ kind: 'enum',
567
+ variants: [
568
+ {
569
+ name: 'ERC20Event',
570
+ type: 'openzeppelin::token::erc20::erc20::ERC20Component::Event',
571
+ kind: 'flat',
572
+ },
573
+ ],
574
+ },
575
+ ];
576
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../src/lib/abis/new.ts"],"names":[],"mappings":"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"}