eip-1193 0.0.1 → 0.0.3

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 (2) hide show
  1. package/index.d.ts +66 -26
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -272,7 +272,7 @@ export type EIP119EstimateGasRequest = {
272
272
  readonly params: [EIP1193CallParam] | [EIP1193CallParam, BlockTag];
273
273
  };
274
274
 
275
- export type EIP119GetBlockByHashRequest<T = false> = {
275
+ export type EIP119GetBlockByHashRequest<T extends boolean = false> = {
276
276
  readonly method: "eth_getBlockByHash";
277
277
  readonly params: [DATA, T];
278
278
  };
@@ -359,10 +359,52 @@ export type ERIP1193AddChainRequest = {
359
359
 
360
360
  // ------------------------------------------------------------------------------------------------
361
361
 
362
- export type EIP1193GenericRequest = {
363
- readonly method: string;
364
- readonly params?: readonly unknown[];
365
- };
362
+ export type EIP1193Request =
363
+ | EIP1193Web3ClientVersionRequest
364
+ | EIP1193Web3SHARequest
365
+ | EIP1193NetVersionRequest
366
+ | EIP1193NetListeningRequest
367
+ | EIP1193NetPeerCountRequest
368
+ | EIP1193ProtocolVersionRequest
369
+ | EIP1193SyncingRequest
370
+ | EIP1193CoinbaseRequest
371
+ | EIP1193MiningRequest
372
+ | EIP1193HashrateRequest
373
+ | EIP1193AccountsRequest
374
+ | EIP1193BlockNumberRequest
375
+ | EIP1193GetBalanceRequest
376
+ | EIP1193GetStorageAtRequest
377
+ | EIP1193GetTransactionCountRequest
378
+ | EIP1193GetTransactionCountByHashRequest
379
+ | EIP1193GetTransactionCountByNumberRequest
380
+ | EIP1193GetUncleCountByBlockHashRequest
381
+ | EIP1193GetUncleCountByBlockNumberRequest
382
+ | EIP1193GetCodeRequest
383
+ | EIP1193LegacySignRequest
384
+ | EIP1193SignTransactionRequest
385
+ | EIP1193SendTransactionRequest
386
+ | EIP1193SendRawTransactionRequest
387
+ | EIP119CallRequest
388
+ | EIP119EstimateGasRequest
389
+ | EIP119GetBlockByHashRequest<false>
390
+ | EIP119GetBlockByNumberRequest<false>
391
+ | EIP119GetBlockByHashRequest<true>
392
+ | EIP119GetBlockByNumberRequest<true>
393
+ | EIP119GetTransactionByHashRequest
394
+ | EIP119GetTransactionByBlockHashAndIndexRequest
395
+ | EIP119GetTransactionByBlockNumberAndIndexRequest
396
+ | EIP119GetTransactionReceiptRequest
397
+ | EIP119GetUncleByBlockHashAndIndexRequest
398
+ | EIP119GetUncleByBlockNumberAndIndexRequest
399
+ | EIP119GetLogsRequest
400
+ | EIP1193PersonalSignRequest
401
+ | EIP1193PTypedSignv4Request
402
+ | EIP1193PTypedSignRequest
403
+ | EIP1193ChainIdRequest
404
+ | EIP1193RequestAccountsRequest
405
+ | ERIP1193SwitchChainRequest
406
+ | ERIP1193AddChainRequest
407
+ | EIP1193GenericRequest;
366
408
 
367
409
  export interface EIP1193ProviderRpcError extends Error {
368
410
  message: string;
@@ -406,7 +448,7 @@ export type EIP1193SwitchChainError = {
406
448
 
407
449
  type Listener<Message> = (message: Message) => unknown | Promise<unknown>;
408
450
 
409
- export interface EIP1193Provider {
451
+ export type EIP1193Provider<T = {}, U = EIP1193Request> = T & {
410
452
  on(
411
453
  eventName: "message" | "disconnect",
412
454
  listener: Listener<EIP1193ProviderMessage | EIP1193EthSubscription>
@@ -432,16 +474,14 @@ export interface EIP1193Provider {
432
474
  >
433
475
  ): EIP1193Provider;
434
476
 
435
- request(args: EIP1193Web3ClientVersionRequest): Promise<string>;
436
- request(args: EIP1193Web3SHARequest): Promise<DATA>;
437
- request(args: EIP1193NetVersionRequest): Promise<ChainId>;
438
- request(args: EIP1193NetListeningRequest): Promise<boolean>;
439
- request(args: EIP1193NetPeerCountRequest): Promise<QUANTITY>;
440
- request(args: EIP1193ProtocolVersionRequest): Promise<string>;
477
+ request?(args: EIP1193Web3ClientVersionRequest): Promise<string>;
478
+ request?(args: EIP1193Web3SHARequest): Promise<DATA>;
479
+ request?(args: EIP1193NetVersionRequest): Promise<ChainId>;
480
+ request?(args: EIP1193NetListeningRequest): Promise<boolean>;
481
+ request?(args: EIP1193NetPeerCountRequest): Promise<QUANTITY>;
482
+ request?(args: EIP1193ProtocolVersionRequest): Promise<string>;
441
483
  request(args: EIP1193SyncingRequest): Promise<EIP1193SyncingStatus | false>;
442
- request(args: EIP1193CoinbaseRequest): Promise<EIP1193Account>;
443
- request(args: EIP1193MiningRequest): Promise<boolean>;
444
- request(args: EIP1193HashrateRequest): Promise<QUANTITY>;
484
+ request?(args: EIP1193CoinbaseRequest): Promise<EIP1193Account>;
445
485
  request(args: EIP1193GasPriceRequest): Promise<QUANTITY>;
446
486
  request(args: EIP1193AccountsRequest): Promise<EIP1193Accounts>;
447
487
  request(args: EIP1193BlockNumberRequest): Promise<QUANTITY>;
@@ -451,8 +491,8 @@ export interface EIP1193Provider {
451
491
  request(args: EIP1193GetTransactionCountByHashRequest): Promise<QUANTITY>;
452
492
  request(args: EIP1193GetTransactionCountByNumberRequest): Promise<QUANTITY>;
453
493
 
454
- request(args: EIP1193GetUncleCountByBlockHashRequest): Promise<QUANTITY>;
455
- request(args: EIP1193GetUncleCountByBlockNumberRequest): Promise<QUANTITY>;
494
+ request?(args: EIP1193GetUncleCountByBlockHashRequest): Promise<QUANTITY>;
495
+ request?(args: EIP1193GetUncleCountByBlockNumberRequest): Promise<QUANTITY>;
456
496
  request(args: EIP1193GetCodeRequest): Promise<DATA>;
457
497
  request(args: EIP1193LegacySignRequest): Promise<DATA>;
458
498
  request(args: EIP1193SignTransactionRequest): Promise<DATA>;
@@ -478,25 +518,25 @@ export interface EIP1193Provider {
478
518
  request(
479
519
  args: EIP119GetTransactionReceiptRequest
480
520
  ): Promise<EIP1193TransactionReceipt>;
481
- request(
521
+ request?(
482
522
  args: EIP119GetUncleByBlockHashAndIndexRequest
483
523
  ): Promise<EIP1193Block>;
484
- request(
524
+ request?(
485
525
  args: EIP119GetUncleByBlockNumberAndIndexRequest
486
526
  ): Promise<EIP1193Block>;
487
527
  request(args: EIP119GetLogsRequest): Promise<EIP1193Log[]>;
488
- request(args: EIP1193PersonalSignRequest): Promise<DATA>;
489
- request(args: EIP1193PTypedSignv4Request): Promise<DATA>;
490
- request(args: EIP1193PTypedSignRequest): Promise<DATA>;
528
+ request?(args: EIP1193PersonalSignRequest): Promise<DATA>;
529
+ request?(args: EIP1193PTypedSignv4Request): Promise<DATA>;
530
+ request?(args: EIP1193PTypedSignRequest): Promise<DATA>;
491
531
  request(args: EIP1193ChainIdRequest): Promise<ChainId>;
492
532
  request(args: EIP1193RequestAccountsRequest): Promise<EIP1193Accounts>;
493
- request(
533
+ request?(
494
534
  args: ERIP1193SwitchChainRequest
495
535
  ): Promise<EIP1193SwitchChainError | null>;
496
- request(args: ERIP1193AddChainRequest): Promise<EIP1193AddChainError | null>;
497
-
536
+ request?(args: ERIP1193AddChainRequest): Promise<EIP1193AddChainError | null>;
537
+ request(args: U): Promise<unknown>;
498
538
  // request(args: EIP1193GenericRequest): Promise<unknown>;
499
- }
539
+ };
500
540
 
501
541
  type BlockTag = QUANTITY | "latest" | "earliest" | "pending";
502
542
  type QUANTITY = `0x${string}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eip-1193",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Types for EIP-1193",
5
5
  "keywords": [],
6
6
  "author": "",