@snapshot-labs/snapshot.js 0.12.23 → 0.12.25
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/snapshot.cjs.js +35 -16
- package/dist/snapshot.esm.js +35 -16
- package/dist/snapshot.min.js +2 -2
- package/dist/src/index.d.ts +5 -3
- package/dist/src/schemas/index.d.ts +5 -3
- package/package.json +1 -1
- package/src/schemas/space.json +11 -10
- package/src/utils.ts +26 -2
package/dist/src/index.d.ts
CHANGED
|
@@ -104,11 +104,9 @@ declare const _default: {
|
|
|
104
104
|
};
|
|
105
105
|
domain: {
|
|
106
106
|
type: string;
|
|
107
|
-
allOf: {
|
|
108
|
-
format: string;
|
|
109
|
-
}[];
|
|
110
107
|
title: string;
|
|
111
108
|
maxLength: number;
|
|
109
|
+
format: string;
|
|
112
110
|
};
|
|
113
111
|
strategies: {
|
|
114
112
|
type: string;
|
|
@@ -264,6 +262,7 @@ declare const _default: {
|
|
|
264
262
|
anyOf: {
|
|
265
263
|
format: string;
|
|
266
264
|
}[];
|
|
265
|
+
errorMessage: string;
|
|
267
266
|
};
|
|
268
267
|
delegationNetwork: {
|
|
269
268
|
type: string;
|
|
@@ -276,6 +275,7 @@ declare const _default: {
|
|
|
276
275
|
starknetNetwork: boolean;
|
|
277
276
|
snapshotNetwork?: undefined;
|
|
278
277
|
})[];
|
|
278
|
+
errorMessage: string;
|
|
279
279
|
};
|
|
280
280
|
delegationApi: {
|
|
281
281
|
type: string;
|
|
@@ -370,6 +370,7 @@ declare const _default: {
|
|
|
370
370
|
anyOf: {
|
|
371
371
|
format: string;
|
|
372
372
|
}[];
|
|
373
|
+
errorMessage: string;
|
|
373
374
|
};
|
|
374
375
|
network: {
|
|
375
376
|
type: string;
|
|
@@ -381,6 +382,7 @@ declare const _default: {
|
|
|
381
382
|
starknetNetwork: boolean;
|
|
382
383
|
snapshotNetwork?: undefined;
|
|
383
384
|
})[];
|
|
385
|
+
errorMessage: string;
|
|
384
386
|
};
|
|
385
387
|
};
|
|
386
388
|
required: string[];
|
|
@@ -100,11 +100,9 @@ declare const _default: {
|
|
|
100
100
|
};
|
|
101
101
|
domain: {
|
|
102
102
|
type: string;
|
|
103
|
-
allOf: {
|
|
104
|
-
format: string;
|
|
105
|
-
}[];
|
|
106
103
|
title: string;
|
|
107
104
|
maxLength: number;
|
|
105
|
+
format: string;
|
|
108
106
|
};
|
|
109
107
|
strategies: {
|
|
110
108
|
type: string;
|
|
@@ -260,6 +258,7 @@ declare const _default: {
|
|
|
260
258
|
anyOf: {
|
|
261
259
|
format: string;
|
|
262
260
|
}[];
|
|
261
|
+
errorMessage: string;
|
|
263
262
|
};
|
|
264
263
|
delegationNetwork: {
|
|
265
264
|
type: string;
|
|
@@ -272,6 +271,7 @@ declare const _default: {
|
|
|
272
271
|
starknetNetwork: boolean;
|
|
273
272
|
snapshotNetwork?: undefined;
|
|
274
273
|
})[];
|
|
274
|
+
errorMessage: string;
|
|
275
275
|
};
|
|
276
276
|
delegationApi: {
|
|
277
277
|
type: string;
|
|
@@ -366,6 +366,7 @@ declare const _default: {
|
|
|
366
366
|
anyOf: {
|
|
367
367
|
format: string;
|
|
368
368
|
}[];
|
|
369
|
+
errorMessage: string;
|
|
369
370
|
};
|
|
370
371
|
network: {
|
|
371
372
|
type: string;
|
|
@@ -377,6 +378,7 @@ declare const _default: {
|
|
|
377
378
|
starknetNetwork: boolean;
|
|
378
379
|
snapshotNetwork?: undefined;
|
|
379
380
|
})[];
|
|
381
|
+
errorMessage: string;
|
|
380
382
|
};
|
|
381
383
|
};
|
|
382
384
|
required: string[];
|
package/package.json
CHANGED
package/src/schemas/space.json
CHANGED
|
@@ -103,12 +103,9 @@
|
|
|
103
103
|
},
|
|
104
104
|
"domain": {
|
|
105
105
|
"type": "string",
|
|
106
|
-
"allOf": [
|
|
107
|
-
{ "format": "hostname" },
|
|
108
|
-
{ "format": "lowercase" }
|
|
109
|
-
],
|
|
110
106
|
"title": "domain",
|
|
111
|
-
"maxLength": 64
|
|
107
|
+
"maxLength": 64,
|
|
108
|
+
"format": "domain"
|
|
112
109
|
},
|
|
113
110
|
"strategies": {
|
|
114
111
|
"type": "array",
|
|
@@ -264,7 +261,8 @@
|
|
|
264
261
|
"anyOf": [
|
|
265
262
|
{ "format": "evmAddress" },
|
|
266
263
|
{ "format": "starknetAddress" }
|
|
267
|
-
]
|
|
264
|
+
],
|
|
265
|
+
"errorMessage": "Must be a valid EVM of Starknet address"
|
|
268
266
|
},
|
|
269
267
|
"delegationNetwork": {
|
|
270
268
|
"type": "string",
|
|
@@ -273,7 +271,8 @@
|
|
|
273
271
|
"anyOf": [
|
|
274
272
|
{ "snapshotNetwork": true },
|
|
275
273
|
{ "starknetNetwork": true }
|
|
276
|
-
]
|
|
274
|
+
],
|
|
275
|
+
"errorMessage": "Must be a valid network"
|
|
277
276
|
},
|
|
278
277
|
"delegationApi": {
|
|
279
278
|
"type": "string",
|
|
@@ -285,7 +284,7 @@
|
|
|
285
284
|
]
|
|
286
285
|
}
|
|
287
286
|
},
|
|
288
|
-
"required": ["delegationType", "
|
|
287
|
+
"required": ["delegationType", "delegationApi", "delegationContract"],
|
|
289
288
|
"additionalProperties": false
|
|
290
289
|
},
|
|
291
290
|
"allowAlias": {
|
|
@@ -379,7 +378,8 @@
|
|
|
379
378
|
"anyOf": [
|
|
380
379
|
{ "format": "evmAddress" },
|
|
381
380
|
{ "format": "starknetAddress" }
|
|
382
|
-
]
|
|
381
|
+
],
|
|
382
|
+
"errorMessage": "Must be a valid EVM of Starknet address"
|
|
383
383
|
},
|
|
384
384
|
"network": {
|
|
385
385
|
"type": "string",
|
|
@@ -387,7 +387,8 @@
|
|
|
387
387
|
"anyOf": [
|
|
388
388
|
{ "snapshotNetwork": true },
|
|
389
389
|
{ "starknetNetwork": true }
|
|
390
|
-
]
|
|
390
|
+
],
|
|
391
|
+
"errorMessage": "Must be a valid network"
|
|
391
392
|
}
|
|
392
393
|
},
|
|
393
394
|
"required": ["name", "address", "network"],
|
package/src/utils.ts
CHANGED
|
@@ -36,7 +36,16 @@ const ENS_ABI = [
|
|
|
36
36
|
'function resolver(bytes32 node) view returns (address)' // ENS registry ABI
|
|
37
37
|
];
|
|
38
38
|
const EMPTY_ADDRESS = '0x0000000000000000000000000000000000000000';
|
|
39
|
-
const STARKNET_NETWORKS =
|
|
39
|
+
const STARKNET_NETWORKS = {
|
|
40
|
+
'0x534e5f4d41494e': {
|
|
41
|
+
name: 'Starknet',
|
|
42
|
+
testnet: false
|
|
43
|
+
},
|
|
44
|
+
'0x534e5f5345504f4c4941': {
|
|
45
|
+
name: 'Starknet Sepolia',
|
|
46
|
+
testnet: true
|
|
47
|
+
}
|
|
48
|
+
};
|
|
40
49
|
|
|
41
50
|
const scoreApiHeaders = {
|
|
42
51
|
Accept: 'application/json',
|
|
@@ -170,7 +179,15 @@ ajv.addKeyword({
|
|
|
170
179
|
ajv.addKeyword({
|
|
171
180
|
keyword: 'starknetNetwork',
|
|
172
181
|
validate: function (schema, data) {
|
|
173
|
-
|
|
182
|
+
// @ts-ignore
|
|
183
|
+
const snapshotEnv = this.snapshotEnv || 'default';
|
|
184
|
+
if (snapshotEnv === 'mainnet') {
|
|
185
|
+
return Object.keys(STARKNET_NETWORKS)
|
|
186
|
+
.filter((id) => !STARKNET_NETWORKS[id].testnet)
|
|
187
|
+
.includes(data);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return Object.keys(STARKNET_NETWORKS).includes(data);
|
|
174
191
|
},
|
|
175
192
|
error: {
|
|
176
193
|
message: 'network not allowed'
|
|
@@ -235,6 +252,13 @@ ajv.addFormat('customUrl', {
|
|
|
235
252
|
}
|
|
236
253
|
});
|
|
237
254
|
|
|
255
|
+
ajv.addFormat('domain', {
|
|
256
|
+
validate: (value: string) => {
|
|
257
|
+
if (!value) return false;
|
|
258
|
+
return !!value.match(/^(https:\/\/)?([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/);
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
|
|
238
262
|
export async function call(provider, abi: any[], call: any[], options?) {
|
|
239
263
|
const contract = new Contract(call[0], abi, provider);
|
|
240
264
|
try {
|