@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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snapshot-labs/snapshot.js",
3
- "version": "0.12.23",
3
+ "version": "0.12.25",
4
4
  "repository": "snapshot-labs/snapshot.js",
5
5
  "license": "MIT",
6
6
  "main": "dist/snapshot.cjs.js",
@@ -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", "delegationNetwork", "delegationApi", "delegationContract"],
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 = ['0x534e5f4d41494e', '0x534e5f5345504f4c4941'];
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
- return STARKNET_NETWORKS.includes(data);
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 {