@whitewall-os/sdk 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.
- package/dist/abis.d.ts +321 -0
- package/dist/abis.js +209 -0
- package/dist/addresses.d.ts +14 -0
- package/dist/addresses.js +6 -0
- package/dist/client.d.ts +37 -0
- package/dist/client.js +200 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +3 -0
- package/dist/types.d.ts +20 -0
- package/dist/types.js +1 -0
- package/package.json +36 -0
- package/src/abis.ts +218 -0
- package/src/addresses.ts +23 -0
- package/src/client.ts +260 -0
- package/src/index.ts +12 -0
- package/src/types.ts +23 -0
package/dist/abis.d.ts
ADDED
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
export declare const humanVerifiedPolicyAbi: readonly [{
|
|
2
|
+
readonly inputs: readonly [];
|
|
3
|
+
readonly name: "getRequiredTier";
|
|
4
|
+
readonly outputs: readonly [{
|
|
5
|
+
readonly name: "";
|
|
6
|
+
readonly type: "uint8";
|
|
7
|
+
}];
|
|
8
|
+
readonly stateMutability: "view";
|
|
9
|
+
readonly type: "function";
|
|
10
|
+
}, {
|
|
11
|
+
readonly inputs: readonly [];
|
|
12
|
+
readonly name: "getIdentityRegistry";
|
|
13
|
+
readonly outputs: readonly [{
|
|
14
|
+
readonly name: "";
|
|
15
|
+
readonly type: "address";
|
|
16
|
+
}];
|
|
17
|
+
readonly stateMutability: "view";
|
|
18
|
+
readonly type: "function";
|
|
19
|
+
}, {
|
|
20
|
+
readonly inputs: readonly [];
|
|
21
|
+
readonly name: "getValidationRegistry";
|
|
22
|
+
readonly outputs: readonly [{
|
|
23
|
+
readonly name: "";
|
|
24
|
+
readonly type: "address";
|
|
25
|
+
}];
|
|
26
|
+
readonly stateMutability: "view";
|
|
27
|
+
readonly type: "function";
|
|
28
|
+
}, {
|
|
29
|
+
readonly inputs: readonly [];
|
|
30
|
+
readonly name: "getWorldIdValidator";
|
|
31
|
+
readonly outputs: readonly [{
|
|
32
|
+
readonly name: "";
|
|
33
|
+
readonly type: "address";
|
|
34
|
+
}];
|
|
35
|
+
readonly stateMutability: "view";
|
|
36
|
+
readonly type: "function";
|
|
37
|
+
}];
|
|
38
|
+
export declare const identityRegistryAbi: readonly [{
|
|
39
|
+
readonly inputs: readonly [{
|
|
40
|
+
readonly name: "tokenId";
|
|
41
|
+
readonly type: "uint256";
|
|
42
|
+
}];
|
|
43
|
+
readonly name: "ownerOf";
|
|
44
|
+
readonly outputs: readonly [{
|
|
45
|
+
readonly name: "";
|
|
46
|
+
readonly type: "address";
|
|
47
|
+
}];
|
|
48
|
+
readonly stateMutability: "view";
|
|
49
|
+
readonly type: "function";
|
|
50
|
+
}, {
|
|
51
|
+
readonly inputs: readonly [{
|
|
52
|
+
readonly name: "agentId";
|
|
53
|
+
readonly type: "uint256";
|
|
54
|
+
}];
|
|
55
|
+
readonly name: "getAgentWallet";
|
|
56
|
+
readonly outputs: readonly [{
|
|
57
|
+
readonly name: "";
|
|
58
|
+
readonly type: "address";
|
|
59
|
+
}];
|
|
60
|
+
readonly stateMutability: "view";
|
|
61
|
+
readonly type: "function";
|
|
62
|
+
}, {
|
|
63
|
+
readonly inputs: readonly [{
|
|
64
|
+
readonly name: "owner";
|
|
65
|
+
readonly type: "address";
|
|
66
|
+
}];
|
|
67
|
+
readonly name: "balanceOf";
|
|
68
|
+
readonly outputs: readonly [{
|
|
69
|
+
readonly name: "";
|
|
70
|
+
readonly type: "uint256";
|
|
71
|
+
}];
|
|
72
|
+
readonly stateMutability: "view";
|
|
73
|
+
readonly type: "function";
|
|
74
|
+
}, {
|
|
75
|
+
readonly inputs: readonly [{
|
|
76
|
+
readonly name: "tokenId";
|
|
77
|
+
readonly type: "uint256";
|
|
78
|
+
}];
|
|
79
|
+
readonly name: "tokenURI";
|
|
80
|
+
readonly outputs: readonly [{
|
|
81
|
+
readonly name: "";
|
|
82
|
+
readonly type: "string";
|
|
83
|
+
}];
|
|
84
|
+
readonly stateMutability: "view";
|
|
85
|
+
readonly type: "function";
|
|
86
|
+
}, {
|
|
87
|
+
readonly inputs: readonly [{
|
|
88
|
+
readonly name: "agentId";
|
|
89
|
+
readonly type: "uint256";
|
|
90
|
+
}, {
|
|
91
|
+
readonly name: "metadataKey";
|
|
92
|
+
readonly type: "string";
|
|
93
|
+
}];
|
|
94
|
+
readonly name: "getMetadata";
|
|
95
|
+
readonly outputs: readonly [{
|
|
96
|
+
readonly name: "";
|
|
97
|
+
readonly type: "bytes";
|
|
98
|
+
}];
|
|
99
|
+
readonly stateMutability: "view";
|
|
100
|
+
readonly type: "function";
|
|
101
|
+
}, {
|
|
102
|
+
readonly anonymous: false;
|
|
103
|
+
readonly inputs: readonly [{
|
|
104
|
+
readonly indexed: true;
|
|
105
|
+
readonly name: "agentId";
|
|
106
|
+
readonly type: "uint256";
|
|
107
|
+
}, {
|
|
108
|
+
readonly indexed: false;
|
|
109
|
+
readonly name: "agentURI";
|
|
110
|
+
readonly type: "string";
|
|
111
|
+
}, {
|
|
112
|
+
readonly indexed: true;
|
|
113
|
+
readonly name: "owner";
|
|
114
|
+
readonly type: "address";
|
|
115
|
+
}];
|
|
116
|
+
readonly name: "Registered";
|
|
117
|
+
readonly type: "event";
|
|
118
|
+
}, {
|
|
119
|
+
readonly anonymous: false;
|
|
120
|
+
readonly inputs: readonly [{
|
|
121
|
+
readonly indexed: true;
|
|
122
|
+
readonly name: "from";
|
|
123
|
+
readonly type: "address";
|
|
124
|
+
}, {
|
|
125
|
+
readonly indexed: true;
|
|
126
|
+
readonly name: "to";
|
|
127
|
+
readonly type: "address";
|
|
128
|
+
}, {
|
|
129
|
+
readonly indexed: true;
|
|
130
|
+
readonly name: "tokenId";
|
|
131
|
+
readonly type: "uint256";
|
|
132
|
+
}];
|
|
133
|
+
readonly name: "Transfer";
|
|
134
|
+
readonly type: "event";
|
|
135
|
+
}, {
|
|
136
|
+
readonly inputs: readonly [{
|
|
137
|
+
readonly name: "agentURI";
|
|
138
|
+
readonly type: "string";
|
|
139
|
+
}];
|
|
140
|
+
readonly name: "register";
|
|
141
|
+
readonly outputs: readonly [];
|
|
142
|
+
readonly stateMutability: "nonpayable";
|
|
143
|
+
readonly type: "function";
|
|
144
|
+
}, {
|
|
145
|
+
readonly inputs: readonly [{
|
|
146
|
+
readonly name: "validator";
|
|
147
|
+
readonly type: "address";
|
|
148
|
+
}, {
|
|
149
|
+
readonly name: "agentId";
|
|
150
|
+
readonly type: "uint256";
|
|
151
|
+
}];
|
|
152
|
+
readonly name: "approve";
|
|
153
|
+
readonly outputs: readonly [];
|
|
154
|
+
readonly stateMutability: "nonpayable";
|
|
155
|
+
readonly type: "function";
|
|
156
|
+
}];
|
|
157
|
+
export declare const validationRegistryAbi: readonly [{
|
|
158
|
+
readonly inputs: readonly [{
|
|
159
|
+
readonly name: "agentId";
|
|
160
|
+
readonly type: "uint256";
|
|
161
|
+
}, {
|
|
162
|
+
readonly name: "validatorAddresses";
|
|
163
|
+
readonly type: "address[]";
|
|
164
|
+
}, {
|
|
165
|
+
readonly name: "tag";
|
|
166
|
+
readonly type: "string";
|
|
167
|
+
}];
|
|
168
|
+
readonly name: "getSummary";
|
|
169
|
+
readonly outputs: readonly [{
|
|
170
|
+
readonly name: "count";
|
|
171
|
+
readonly type: "uint64";
|
|
172
|
+
}, {
|
|
173
|
+
readonly name: "avgResponse";
|
|
174
|
+
readonly type: "uint8";
|
|
175
|
+
}];
|
|
176
|
+
readonly stateMutability: "view";
|
|
177
|
+
readonly type: "function";
|
|
178
|
+
}, {
|
|
179
|
+
readonly inputs: readonly [{
|
|
180
|
+
readonly name: "agentId";
|
|
181
|
+
readonly type: "uint256";
|
|
182
|
+
}];
|
|
183
|
+
readonly name: "getAgentValidations";
|
|
184
|
+
readonly outputs: readonly [{
|
|
185
|
+
readonly name: "";
|
|
186
|
+
readonly type: "bytes32[]";
|
|
187
|
+
}];
|
|
188
|
+
readonly stateMutability: "view";
|
|
189
|
+
readonly type: "function";
|
|
190
|
+
}, {
|
|
191
|
+
readonly inputs: readonly [{
|
|
192
|
+
readonly name: "requestHash";
|
|
193
|
+
readonly type: "bytes32";
|
|
194
|
+
}];
|
|
195
|
+
readonly name: "getValidationStatus";
|
|
196
|
+
readonly outputs: readonly [{
|
|
197
|
+
readonly name: "validatorAddress";
|
|
198
|
+
readonly type: "address";
|
|
199
|
+
}, {
|
|
200
|
+
readonly name: "agentId";
|
|
201
|
+
readonly type: "uint256";
|
|
202
|
+
}, {
|
|
203
|
+
readonly name: "response";
|
|
204
|
+
readonly type: "uint8";
|
|
205
|
+
}, {
|
|
206
|
+
readonly name: "responseHash";
|
|
207
|
+
readonly type: "bytes32";
|
|
208
|
+
}, {
|
|
209
|
+
readonly name: "tag";
|
|
210
|
+
readonly type: "string";
|
|
211
|
+
}, {
|
|
212
|
+
readonly name: "lastUpdate";
|
|
213
|
+
readonly type: "uint256";
|
|
214
|
+
}];
|
|
215
|
+
readonly stateMutability: "view";
|
|
216
|
+
readonly type: "function";
|
|
217
|
+
}, {
|
|
218
|
+
readonly anonymous: false;
|
|
219
|
+
readonly inputs: readonly [{
|
|
220
|
+
readonly indexed: true;
|
|
221
|
+
readonly name: "validatorAddress";
|
|
222
|
+
readonly type: "address";
|
|
223
|
+
}, {
|
|
224
|
+
readonly indexed: true;
|
|
225
|
+
readonly name: "agentId";
|
|
226
|
+
readonly type: "uint256";
|
|
227
|
+
}, {
|
|
228
|
+
readonly indexed: false;
|
|
229
|
+
readonly name: "requestURI";
|
|
230
|
+
readonly type: "string";
|
|
231
|
+
}, {
|
|
232
|
+
readonly indexed: true;
|
|
233
|
+
readonly name: "requestHash";
|
|
234
|
+
readonly type: "bytes32";
|
|
235
|
+
}];
|
|
236
|
+
readonly name: "ValidationRequest";
|
|
237
|
+
readonly type: "event";
|
|
238
|
+
}, {
|
|
239
|
+
readonly anonymous: false;
|
|
240
|
+
readonly inputs: readonly [{
|
|
241
|
+
readonly indexed: true;
|
|
242
|
+
readonly name: "validatorAddress";
|
|
243
|
+
readonly type: "address";
|
|
244
|
+
}, {
|
|
245
|
+
readonly indexed: true;
|
|
246
|
+
readonly name: "agentId";
|
|
247
|
+
readonly type: "uint256";
|
|
248
|
+
}, {
|
|
249
|
+
readonly indexed: true;
|
|
250
|
+
readonly name: "requestHash";
|
|
251
|
+
readonly type: "bytes32";
|
|
252
|
+
}, {
|
|
253
|
+
readonly indexed: false;
|
|
254
|
+
readonly name: "response";
|
|
255
|
+
readonly type: "uint8";
|
|
256
|
+
}, {
|
|
257
|
+
readonly indexed: false;
|
|
258
|
+
readonly name: "responseURI";
|
|
259
|
+
readonly type: "string";
|
|
260
|
+
}, {
|
|
261
|
+
readonly indexed: false;
|
|
262
|
+
readonly name: "responseHash";
|
|
263
|
+
readonly type: "bytes32";
|
|
264
|
+
}, {
|
|
265
|
+
readonly indexed: false;
|
|
266
|
+
readonly name: "tag";
|
|
267
|
+
readonly type: "string";
|
|
268
|
+
}];
|
|
269
|
+
readonly name: "ValidationResponse";
|
|
270
|
+
readonly type: "event";
|
|
271
|
+
}];
|
|
272
|
+
export declare const worldIdValidatorAbi: readonly [{
|
|
273
|
+
readonly inputs: readonly [{
|
|
274
|
+
readonly name: "agentId";
|
|
275
|
+
readonly type: "uint256";
|
|
276
|
+
}, {
|
|
277
|
+
readonly name: "root";
|
|
278
|
+
readonly type: "uint256";
|
|
279
|
+
}, {
|
|
280
|
+
readonly name: "nullifierHash";
|
|
281
|
+
readonly type: "uint256";
|
|
282
|
+
}, {
|
|
283
|
+
readonly name: "proof";
|
|
284
|
+
readonly type: "uint256[8]";
|
|
285
|
+
}];
|
|
286
|
+
readonly name: "verifyAndSetHumanTag";
|
|
287
|
+
readonly outputs: readonly [];
|
|
288
|
+
readonly stateMutability: "nonpayable";
|
|
289
|
+
readonly type: "function";
|
|
290
|
+
}];
|
|
291
|
+
export declare const whitewallConsumerAbi: readonly [{
|
|
292
|
+
readonly anonymous: false;
|
|
293
|
+
readonly inputs: readonly [{
|
|
294
|
+
readonly indexed: true;
|
|
295
|
+
readonly name: "agentId";
|
|
296
|
+
readonly type: "uint256";
|
|
297
|
+
}, {
|
|
298
|
+
readonly indexed: true;
|
|
299
|
+
readonly name: "accountableHuman";
|
|
300
|
+
readonly type: "address";
|
|
301
|
+
}, {
|
|
302
|
+
readonly indexed: false;
|
|
303
|
+
readonly name: "tier";
|
|
304
|
+
readonly type: "uint8";
|
|
305
|
+
}];
|
|
306
|
+
readonly name: "AccessGranted";
|
|
307
|
+
readonly type: "event";
|
|
308
|
+
}, {
|
|
309
|
+
readonly anonymous: false;
|
|
310
|
+
readonly inputs: readonly [{
|
|
311
|
+
readonly indexed: true;
|
|
312
|
+
readonly name: "agentId";
|
|
313
|
+
readonly type: "uint256";
|
|
314
|
+
}, {
|
|
315
|
+
readonly indexed: false;
|
|
316
|
+
readonly name: "reason";
|
|
317
|
+
readonly type: "bytes32";
|
|
318
|
+
}];
|
|
319
|
+
readonly name: "AccessDenied";
|
|
320
|
+
readonly type: "event";
|
|
321
|
+
}];
|
package/dist/abis.js
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
// ── HumanVerifiedPolicy — entry point, SDK reads config from here ──
|
|
2
|
+
export const humanVerifiedPolicyAbi = [
|
|
3
|
+
{
|
|
4
|
+
inputs: [],
|
|
5
|
+
name: "getRequiredTier",
|
|
6
|
+
outputs: [{ name: "", type: "uint8" }],
|
|
7
|
+
stateMutability: "view",
|
|
8
|
+
type: "function",
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
inputs: [],
|
|
12
|
+
name: "getIdentityRegistry",
|
|
13
|
+
outputs: [{ name: "", type: "address" }],
|
|
14
|
+
stateMutability: "view",
|
|
15
|
+
type: "function",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
inputs: [],
|
|
19
|
+
name: "getValidationRegistry",
|
|
20
|
+
outputs: [{ name: "", type: "address" }],
|
|
21
|
+
stateMutability: "view",
|
|
22
|
+
type: "function",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
inputs: [],
|
|
26
|
+
name: "getWorldIdValidator",
|
|
27
|
+
outputs: [{ name: "", type: "address" }],
|
|
28
|
+
stateMutability: "view",
|
|
29
|
+
type: "function",
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
// ── IdentityRegistry ──
|
|
33
|
+
export const identityRegistryAbi = [
|
|
34
|
+
{
|
|
35
|
+
inputs: [{ name: "tokenId", type: "uint256" }],
|
|
36
|
+
name: "ownerOf",
|
|
37
|
+
outputs: [{ name: "", type: "address" }],
|
|
38
|
+
stateMutability: "view",
|
|
39
|
+
type: "function",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
inputs: [{ name: "agentId", type: "uint256" }],
|
|
43
|
+
name: "getAgentWallet",
|
|
44
|
+
outputs: [{ name: "", type: "address" }],
|
|
45
|
+
stateMutability: "view",
|
|
46
|
+
type: "function",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
inputs: [{ name: "owner", type: "address" }],
|
|
50
|
+
name: "balanceOf",
|
|
51
|
+
outputs: [{ name: "", type: "uint256" }],
|
|
52
|
+
stateMutability: "view",
|
|
53
|
+
type: "function",
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
inputs: [{ name: "tokenId", type: "uint256" }],
|
|
57
|
+
name: "tokenURI",
|
|
58
|
+
outputs: [{ name: "", type: "string" }],
|
|
59
|
+
stateMutability: "view",
|
|
60
|
+
type: "function",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
inputs: [
|
|
64
|
+
{ name: "agentId", type: "uint256" },
|
|
65
|
+
{ name: "metadataKey", type: "string" },
|
|
66
|
+
],
|
|
67
|
+
name: "getMetadata",
|
|
68
|
+
outputs: [{ name: "", type: "bytes" }],
|
|
69
|
+
stateMutability: "view",
|
|
70
|
+
type: "function",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
anonymous: false,
|
|
74
|
+
inputs: [
|
|
75
|
+
{ indexed: true, name: "agentId", type: "uint256" },
|
|
76
|
+
{ indexed: false, name: "agentURI", type: "string" },
|
|
77
|
+
{ indexed: true, name: "owner", type: "address" },
|
|
78
|
+
],
|
|
79
|
+
name: "Registered",
|
|
80
|
+
type: "event",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
anonymous: false,
|
|
84
|
+
inputs: [
|
|
85
|
+
{ indexed: true, name: "from", type: "address" },
|
|
86
|
+
{ indexed: true, name: "to", type: "address" },
|
|
87
|
+
{ indexed: true, name: "tokenId", type: "uint256" },
|
|
88
|
+
],
|
|
89
|
+
name: "Transfer",
|
|
90
|
+
type: "event",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
inputs: [{ name: "agentURI", type: "string" }],
|
|
94
|
+
name: "register",
|
|
95
|
+
outputs: [],
|
|
96
|
+
stateMutability: "nonpayable",
|
|
97
|
+
type: "function",
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
inputs: [
|
|
101
|
+
{ name: "validator", type: "address" },
|
|
102
|
+
{ name: "agentId", type: "uint256" },
|
|
103
|
+
],
|
|
104
|
+
name: "approve",
|
|
105
|
+
outputs: [],
|
|
106
|
+
stateMutability: "nonpayable",
|
|
107
|
+
type: "function",
|
|
108
|
+
},
|
|
109
|
+
];
|
|
110
|
+
// ── ValidationRegistry ──
|
|
111
|
+
export const validationRegistryAbi = [
|
|
112
|
+
{
|
|
113
|
+
inputs: [
|
|
114
|
+
{ name: "agentId", type: "uint256" },
|
|
115
|
+
{ name: "validatorAddresses", type: "address[]" },
|
|
116
|
+
{ name: "tag", type: "string" },
|
|
117
|
+
],
|
|
118
|
+
name: "getSummary",
|
|
119
|
+
outputs: [
|
|
120
|
+
{ name: "count", type: "uint64" },
|
|
121
|
+
{ name: "avgResponse", type: "uint8" },
|
|
122
|
+
],
|
|
123
|
+
stateMutability: "view",
|
|
124
|
+
type: "function",
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
inputs: [{ name: "agentId", type: "uint256" }],
|
|
128
|
+
name: "getAgentValidations",
|
|
129
|
+
outputs: [{ name: "", type: "bytes32[]" }],
|
|
130
|
+
stateMutability: "view",
|
|
131
|
+
type: "function",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
inputs: [{ name: "requestHash", type: "bytes32" }],
|
|
135
|
+
name: "getValidationStatus",
|
|
136
|
+
outputs: [
|
|
137
|
+
{ name: "validatorAddress", type: "address" },
|
|
138
|
+
{ name: "agentId", type: "uint256" },
|
|
139
|
+
{ name: "response", type: "uint8" },
|
|
140
|
+
{ name: "responseHash", type: "bytes32" },
|
|
141
|
+
{ name: "tag", type: "string" },
|
|
142
|
+
{ name: "lastUpdate", type: "uint256" },
|
|
143
|
+
],
|
|
144
|
+
stateMutability: "view",
|
|
145
|
+
type: "function",
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
anonymous: false,
|
|
149
|
+
inputs: [
|
|
150
|
+
{ indexed: true, name: "validatorAddress", type: "address" },
|
|
151
|
+
{ indexed: true, name: "agentId", type: "uint256" },
|
|
152
|
+
{ indexed: false, name: "requestURI", type: "string" },
|
|
153
|
+
{ indexed: true, name: "requestHash", type: "bytes32" },
|
|
154
|
+
],
|
|
155
|
+
name: "ValidationRequest",
|
|
156
|
+
type: "event",
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
anonymous: false,
|
|
160
|
+
inputs: [
|
|
161
|
+
{ indexed: true, name: "validatorAddress", type: "address" },
|
|
162
|
+
{ indexed: true, name: "agentId", type: "uint256" },
|
|
163
|
+
{ indexed: true, name: "requestHash", type: "bytes32" },
|
|
164
|
+
{ indexed: false, name: "response", type: "uint8" },
|
|
165
|
+
{ indexed: false, name: "responseURI", type: "string" },
|
|
166
|
+
{ indexed: false, name: "responseHash", type: "bytes32" },
|
|
167
|
+
{ indexed: false, name: "tag", type: "string" },
|
|
168
|
+
],
|
|
169
|
+
name: "ValidationResponse",
|
|
170
|
+
type: "event",
|
|
171
|
+
},
|
|
172
|
+
];
|
|
173
|
+
// ── WorldIDValidator ──
|
|
174
|
+
export const worldIdValidatorAbi = [
|
|
175
|
+
{
|
|
176
|
+
inputs: [
|
|
177
|
+
{ name: "agentId", type: "uint256" },
|
|
178
|
+
{ name: "root", type: "uint256" },
|
|
179
|
+
{ name: "nullifierHash", type: "uint256" },
|
|
180
|
+
{ name: "proof", type: "uint256[8]" },
|
|
181
|
+
],
|
|
182
|
+
name: "verifyAndSetHumanTag",
|
|
183
|
+
outputs: [],
|
|
184
|
+
stateMutability: "nonpayable",
|
|
185
|
+
type: "function",
|
|
186
|
+
},
|
|
187
|
+
];
|
|
188
|
+
// ── WhitewallConsumer ──
|
|
189
|
+
export const whitewallConsumerAbi = [
|
|
190
|
+
{
|
|
191
|
+
anonymous: false,
|
|
192
|
+
inputs: [
|
|
193
|
+
{ indexed: true, name: "agentId", type: "uint256" },
|
|
194
|
+
{ indexed: true, name: "accountableHuman", type: "address" },
|
|
195
|
+
{ indexed: false, name: "tier", type: "uint8" },
|
|
196
|
+
],
|
|
197
|
+
name: "AccessGranted",
|
|
198
|
+
type: "event",
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
anonymous: false,
|
|
202
|
+
inputs: [
|
|
203
|
+
{ indexed: true, name: "agentId", type: "uint256" },
|
|
204
|
+
{ indexed: false, name: "reason", type: "bytes32" },
|
|
205
|
+
],
|
|
206
|
+
name: "AccessDenied",
|
|
207
|
+
type: "event",
|
|
208
|
+
},
|
|
209
|
+
];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Address } from "viem";
|
|
2
|
+
export type ChainName = "baseSepolia";
|
|
3
|
+
export interface WhitewallOSAddresses {
|
|
4
|
+
humanVerifiedPolicy: Address;
|
|
5
|
+
whitewallConsumer: Address;
|
|
6
|
+
}
|
|
7
|
+
/** Protocol-level policy config, read from on-chain HumanVerifiedPolicy */
|
|
8
|
+
export interface PolicyConfig {
|
|
9
|
+
identityRegistry: Address;
|
|
10
|
+
validationRegistry: Address;
|
|
11
|
+
worldIdValidator: Address;
|
|
12
|
+
requiredTier: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const addresses: Record<ChainName, WhitewallOSAddresses>;
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type Address, type PublicClient, type Transport, type Chain, type WatchEventReturnType } from "viem";
|
|
2
|
+
import { type ChainName, type WhitewallOSAddresses, type PolicyConfig } from "./addresses.js";
|
|
3
|
+
import type { AgentStatus, AccessGrantedEvent, ValidationSummary } from "./types.js";
|
|
4
|
+
export interface WhitewallOSConfig {
|
|
5
|
+
chain: ChainName;
|
|
6
|
+
rpcUrl?: string;
|
|
7
|
+
/** Pass your own viem PublicClient to skip internal client creation */
|
|
8
|
+
publicClient?: PublicClient<Transport, Chain>;
|
|
9
|
+
}
|
|
10
|
+
export declare class WhitewallOS {
|
|
11
|
+
private client;
|
|
12
|
+
private addrs;
|
|
13
|
+
private policy;
|
|
14
|
+
private constructor();
|
|
15
|
+
/**
|
|
16
|
+
* Create and connect a WhitewallOS instance.
|
|
17
|
+
* Reads policy config from on-chain HumanVerifiedPolicy contract.
|
|
18
|
+
*/
|
|
19
|
+
static connect(config: WhitewallOSConfig): Promise<WhitewallOS>;
|
|
20
|
+
/** Read policy configuration from the on-chain HumanVerifiedPolicy contract */
|
|
21
|
+
private loadPolicyConfig;
|
|
22
|
+
private get policyConfig();
|
|
23
|
+
isRegistered(agentId: bigint): Promise<boolean>;
|
|
24
|
+
isHumanVerified(agentId: bigint): Promise<boolean>;
|
|
25
|
+
getOwner(agentId: bigint): Promise<Address>;
|
|
26
|
+
getAgentWallet(agentId: bigint): Promise<Address>;
|
|
27
|
+
getTokenURI(agentId: bigint): Promise<string>;
|
|
28
|
+
getMetadata(agentId: bigint, key: string): Promise<`0x${string}`>;
|
|
29
|
+
getValidationSummary(agentId: bigint): Promise<ValidationSummary>;
|
|
30
|
+
getAgentValidations(agentId: bigint): Promise<readonly `0x${string}`[]>;
|
|
31
|
+
getAgentStatus(agentId: bigint): Promise<AgentStatus>;
|
|
32
|
+
onAccessGranted(callback: (event: AccessGrantedEvent) => void): WatchEventReturnType;
|
|
33
|
+
onRegistered(callback: (agentId: bigint, owner: Address) => void): WatchEventReturnType;
|
|
34
|
+
getAddresses(): WhitewallOSAddresses;
|
|
35
|
+
getPolicyConfig(): PolicyConfig;
|
|
36
|
+
getPublicClient(): PublicClient<Transport, Chain>;
|
|
37
|
+
}
|