@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.
- package/README.md +114 -0
- package/dist/abis/Cleanup.d.ts +132 -0
- package/dist/abis/Cleanup.d.ts.map +1 -0
- package/dist/abis/Cleanup.js +1327 -0
- package/dist/abis/Cleanup.js.map +1 -0
- package/dist/abis/RewardsManager.d.ts +724 -0
- package/dist/abis/RewardsManager.d.ts.map +1 -0
- package/dist/abis/RewardsManager.js +934 -0
- package/dist/abis/RewardsManager.js.map +1 -0
- package/dist/abis/Streak.d.ts +601 -0
- package/dist/abis/Streak.d.ts.map +1 -0
- package/dist/abis/Streak.js +778 -0
- package/dist/abis/Streak.js.map +1 -0
- package/dist/abis/UserRegistry.d.ts +876 -0
- package/dist/abis/UserRegistry.d.ts.map +1 -0
- package/dist/abis/UserRegistry.js +1134 -0
- package/dist/abis/UserRegistry.js.map +1 -0
- package/dist/base.d.ts +53 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +68 -0
- package/dist/base.js.map +1 -0
- package/dist/cleanup.d.ts +70 -0
- package/dist/cleanup.d.ts.map +1 -0
- package/dist/cleanup.js +75 -0
- package/dist/cleanup.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/streak.d.ts +57 -0
- package/dist/streak.d.ts.map +1 -0
- package/dist/streak.js +71 -0
- package/dist/streak.js.map +1 -0
- package/dist/subgraph/queries.d.ts +241 -0
- package/dist/subgraph/queries.d.ts.map +1 -0
- package/dist/subgraph/queries.js +837 -0
- package/dist/subgraph/queries.js.map +1 -0
- package/dist/subgraph/types.d.ts +1376 -0
- package/dist/subgraph/types.d.ts.map +1 -0
- package/dist/subgraph/types.js +6 -0
- package/dist/subgraph/types.js.map +1 -0
- package/dist/user.d.ts +38 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +41 -0
- package/dist/user.js.map +1 -0
- 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"}
|