@cleanmate/cip-sdk 1.0.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 (46) hide show
  1. package/README.md +114 -0
  2. package/dist/abis/Cleanup.d.ts +132 -0
  3. package/dist/abis/Cleanup.d.ts.map +1 -0
  4. package/dist/abis/Cleanup.js +1327 -0
  5. package/dist/abis/Cleanup.js.map +1 -0
  6. package/dist/abis/RewardsManager.d.ts +724 -0
  7. package/dist/abis/RewardsManager.d.ts.map +1 -0
  8. package/dist/abis/RewardsManager.js +934 -0
  9. package/dist/abis/RewardsManager.js.map +1 -0
  10. package/dist/abis/Streak.d.ts +601 -0
  11. package/dist/abis/Streak.d.ts.map +1 -0
  12. package/dist/abis/Streak.js +778 -0
  13. package/dist/abis/Streak.js.map +1 -0
  14. package/dist/abis/UserRegistry.d.ts +876 -0
  15. package/dist/abis/UserRegistry.d.ts.map +1 -0
  16. package/dist/abis/UserRegistry.js +1134 -0
  17. package/dist/abis/UserRegistry.js.map +1 -0
  18. package/dist/base.d.ts +53 -0
  19. package/dist/base.d.ts.map +1 -0
  20. package/dist/base.js +68 -0
  21. package/dist/base.js.map +1 -0
  22. package/dist/cleanup.d.ts +70 -0
  23. package/dist/cleanup.d.ts.map +1 -0
  24. package/dist/cleanup.js +75 -0
  25. package/dist/cleanup.js.map +1 -0
  26. package/dist/index.d.ts +21 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +23 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/streak.d.ts +57 -0
  31. package/dist/streak.d.ts.map +1 -0
  32. package/dist/streak.js +71 -0
  33. package/dist/streak.js.map +1 -0
  34. package/dist/subgraph/queries.d.ts +241 -0
  35. package/dist/subgraph/queries.d.ts.map +1 -0
  36. package/dist/subgraph/queries.js +837 -0
  37. package/dist/subgraph/queries.js.map +1 -0
  38. package/dist/subgraph/types.d.ts +1376 -0
  39. package/dist/subgraph/types.d.ts.map +1 -0
  40. package/dist/subgraph/types.js +6 -0
  41. package/dist/subgraph/types.js.map +1 -0
  42. package/dist/user.d.ts +38 -0
  43. package/dist/user.d.ts.map +1 -0
  44. package/dist/user.js +41 -0
  45. package/dist/user.js.map +1 -0
  46. package/package.json +58 -0
package/README.md ADDED
@@ -0,0 +1,114 @@
1
+ # @cleanmate/cip-sdk
2
+
3
+ CleanMate CIP metadata standard utilities for smart contract metadata parsing and validation.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @cleanmate/cip-sdk
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ### Basic Import
14
+
15
+ ```typescript
16
+ import { parseUserProfileMetadata, stringifyUserProfileMetadata } from '@cleanmate/cip-sdk';
17
+ ```
18
+
19
+ ### Subpath Imports
20
+
21
+ You can also import from specific subpaths:
22
+
23
+ ```typescript
24
+ import { parseCleanupMetadata } from '@cleanmate/cip-sdk/cleanup';
25
+ import { parseUserProfileMetadata } from '@cleanmate/cip-sdk/user';
26
+ import { parseStreakSubmissionMetadata } from '@cleanmate/cip-sdk/streak';
27
+ ```
28
+
29
+ ## API
30
+
31
+ ### User Profile Metadata
32
+
33
+ ```typescript
34
+ import { parseUserProfileMetadata, stringifyUserProfileMetadata, type UserProfileMetadata } from '@cleanmate/cip-sdk/user';
35
+
36
+ // Parse metadata from smart contract
37
+ const metadataString = userProfile.metadata; // JSON string from contract
38
+ const parsed = parseUserProfileMetadata(metadataString);
39
+ if (parsed) {
40
+ console.log(parsed.name);
41
+ }
42
+
43
+ // Create metadata for smart contract
44
+ const newMetadata: UserProfileMetadata<string> = {
45
+ name: 'John Doe',
46
+ bio: 'Environmental enthusiast',
47
+ photo: 'ipfs://Qm...',
48
+ interests: ['cleaning', 'environment']
49
+ };
50
+ const jsonString = stringifyUserProfileMetadata(newMetadata);
51
+ ```
52
+
53
+ ### Cleanup Metadata
54
+
55
+ ```typescript
56
+ import { parseCleanupMetadata, stringifyCleanupMetadata, type CleanupMetadata } from '@cleanmate/cip-sdk/cleanup';
57
+
58
+ const metadata = parseCleanupMetadata(cleanupEvent.metadata);
59
+ const jsonString = stringifyCleanupMetadata({
60
+ title: 'Beach Cleanup',
61
+ description: 'Monthly beach cleanup event',
62
+ category: 'beach',
63
+ media: []
64
+ });
65
+ ```
66
+
67
+ ### Streak Metadata
68
+
69
+ ```typescript
70
+ import {
71
+ parseStreakSubmissionMetadata,
72
+ stringifyStreakSubmissionMetadata,
73
+ parseStreakStatsMetadata,
74
+ stringifyStreakStatsMetadata,
75
+ type StreakSubmissionMetadata,
76
+ type StreakStatsMetadata
77
+ } from '@cleanmate/cip-sdk/streak';
78
+
79
+ // Streak submission
80
+ const submissionMetadata: StreakSubmissionMetadata = {
81
+ description: 'Completed cleanup',
82
+ timestamp: new Date().toISOString(),
83
+ mediaCount: 3
84
+ };
85
+ const jsonString = stringifyStreakSubmissionMetadata(submissionMetadata);
86
+
87
+ // Streak statistics
88
+ const statsMetadata: StreakStatsMetadata = {
89
+ currentStreak: 5,
90
+ longestStreak: 10,
91
+ lastActivityDate: new Date().toISOString()
92
+ };
93
+ const statsJson = stringifyStreakStatsMetadata(statsMetadata);
94
+ ```
95
+
96
+ ## Base Utilities
97
+
98
+ ```typescript
99
+ import {
100
+ parseMetadata,
101
+ stringifyMetadata,
102
+ hasRequiredFields,
103
+ isMetadataObject,
104
+ type BaseMetadata
105
+ } from '@cleanmate/cip-sdk';
106
+ ```
107
+
108
+ ## Building
109
+
110
+ ```bash
111
+ npm run build
112
+ ```
113
+
114
+ This will compile TypeScript to JavaScript in the `dist` directory.
@@ -0,0 +1,132 @@
1
+ export declare const CleanupABI: ({
2
+ inputs: {
3
+ internalType: string;
4
+ name: string;
5
+ type: string;
6
+ }[];
7
+ stateMutability: string;
8
+ type: string;
9
+ name?: undefined;
10
+ anonymous?: undefined;
11
+ outputs?: undefined;
12
+ } | {
13
+ inputs: {
14
+ internalType: string;
15
+ name: string;
16
+ type: string;
17
+ }[];
18
+ name: string;
19
+ type: string;
20
+ stateMutability?: undefined;
21
+ anonymous?: undefined;
22
+ outputs?: undefined;
23
+ } | {
24
+ anonymous: boolean;
25
+ inputs: {
26
+ indexed: boolean;
27
+ internalType: string;
28
+ name: string;
29
+ type: string;
30
+ }[];
31
+ name: string;
32
+ type: string;
33
+ stateMutability?: undefined;
34
+ outputs?: undefined;
35
+ } | {
36
+ inputs: {
37
+ internalType: string;
38
+ name: string;
39
+ type: string;
40
+ }[];
41
+ name: string;
42
+ outputs: {
43
+ components: ({
44
+ internalType: string;
45
+ name: string;
46
+ type: string;
47
+ components?: undefined;
48
+ } | {
49
+ components: {
50
+ internalType: string;
51
+ name: string;
52
+ type: string;
53
+ }[];
54
+ internalType: string;
55
+ name: string;
56
+ type: string;
57
+ })[];
58
+ internalType: string;
59
+ name: string;
60
+ type: string;
61
+ }[];
62
+ stateMutability: string;
63
+ type: string;
64
+ anonymous?: undefined;
65
+ } | {
66
+ inputs: {
67
+ internalType: string;
68
+ name: string;
69
+ type: string;
70
+ }[];
71
+ name: string;
72
+ outputs: {
73
+ internalType: string;
74
+ name: string;
75
+ type: string;
76
+ }[];
77
+ stateMutability: string;
78
+ type: string;
79
+ anonymous?: undefined;
80
+ } | {
81
+ inputs: {
82
+ components: ({
83
+ internalType: string;
84
+ name: string;
85
+ type: string;
86
+ components?: undefined;
87
+ } | {
88
+ components: {
89
+ internalType: string;
90
+ name: string;
91
+ type: string;
92
+ }[];
93
+ internalType: string;
94
+ name: string;
95
+ type: string;
96
+ })[];
97
+ internalType: string;
98
+ name: string;
99
+ type: string;
100
+ }[];
101
+ name: string;
102
+ outputs: {
103
+ internalType: string;
104
+ name: string;
105
+ type: string;
106
+ }[];
107
+ stateMutability: string;
108
+ type: string;
109
+ anonymous?: undefined;
110
+ } | {
111
+ inputs: ({
112
+ internalType: string;
113
+ name: string;
114
+ type: string;
115
+ components?: undefined;
116
+ } | {
117
+ components: {
118
+ internalType: string;
119
+ name: string;
120
+ type: string;
121
+ }[];
122
+ internalType: string;
123
+ name: string;
124
+ type: string;
125
+ })[];
126
+ name: string;
127
+ outputs: never[];
128
+ stateMutability: string;
129
+ type: string;
130
+ anonymous?: undefined;
131
+ })[];
132
+ //# sourceMappingURL=Cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cleanup.d.ts","sourceRoot":"","sources":["../../src/abis/Cleanup.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6yCtB,CAAC"}