eip-1193 0.1.5 → 0.2.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.
Files changed (2) hide show
  1. package/index.d.ts +76 -39
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -378,9 +378,9 @@ export type EIP1193SubscribeRequest =
378
378
  | EIP1193LogsSubscribeRequest
379
379
  | EIP1193OtherSubscribeRequest;
380
380
 
381
- export type EIP1193UnSubscribeRequest = {
381
+ export type EIP1193UnsubscribeRequest = {
382
382
  readonly method: "eth_unsubscribe";
383
- readonly params: [DATA];
383
+ readonly params: [EIP1193DATA];
384
384
  };
385
385
 
386
386
  // ------------------------------------------------------------------------------------------------
@@ -429,7 +429,9 @@ export type EIP1193Request =
429
429
  | EIP1193ChainIdRequest
430
430
  | EIP1193RequestAccountsRequest
431
431
  | ERIP1193SwitchChainRequest
432
- | ERIP1193AddChainRequest;
432
+ | ERIP1193AddChainRequest
433
+ | EIP1193SubscribeRequest
434
+ | EIP1193UnsubscribeRequest;
433
435
 
434
436
  export type EIP1193GenericRequest = {
435
437
  method: string;
@@ -442,22 +444,49 @@ export interface EIP1193ProviderRpcError extends Error {
442
444
  data?: unknown;
443
445
  }
444
446
 
445
- export interface EIP1193ProviderMessage {
447
+ export interface EIP1193ConnectInfoMessage {
448
+ readonly chainId: EIP1193ChainId;
449
+ }
450
+
451
+ export type EIP1193UnknownMessage = {
446
452
  readonly type: string;
447
453
  readonly data: unknown;
448
- }
454
+ };
449
455
 
450
- export interface EIP1193EthSubscription extends EIP1193ProviderMessage {
456
+ export type EIP1193UnknownSubscriptionMessage = EIP1193UnknownMessage & {
451
457
  readonly type: "eth_subscription";
452
458
  readonly data: {
453
- readonly subscription: string;
459
+ readonly subscription: EIP1193DATA;
454
460
  readonly result: unknown;
455
461
  };
456
- }
462
+ };
457
463
 
458
- export interface EIP1193ProviderConnectInfo {
459
- readonly chainId: EIP1193ChainId;
460
- }
464
+ export type EIP1193KnownSubscriptionMessage = EIP1193UnknownMessage & {
465
+ readonly type: "eth_subscription";
466
+ readonly data: {
467
+ readonly subscription: EIP1193DATA;
468
+ readonly result:
469
+ | EIP1193Log
470
+ | EIP1193Block
471
+ | EIP1193Transaction
472
+ | {
473
+ syncing: boolean;
474
+ status: {
475
+ startingBlock: number;
476
+ currentBlock: number;
477
+ highestBlock: number;
478
+ pulledStates: number;
479
+ knownStates: number;
480
+ };
481
+ };
482
+ };
483
+ };
484
+
485
+ export type EIP1193SubscriptionMessage =
486
+ | EIP1193KnownSubscriptionMessage
487
+ | EIP1193UnknownSubscriptionMessage;
488
+
489
+ export type EIP1193Message = EIP1193SubscriptionMessage | EIP1193UnknownMessage;
461
490
 
462
491
  export type EIP1193AddChainError = {
463
492
  // TODO
@@ -548,39 +577,47 @@ export type EIP1193ProviderWithoutEvents<T = EIP1193Request> = {
548
577
  ): Promise<EIP1193SwitchChainError | null>;
549
578
  request(args: ERIP1193AddChainRequest): Promise<EIP1193AddChainError | null>;
550
579
  request(args: EIP1193SubscribeRequest): Promise<string>;
551
- request(args: EIP1193UnSubscribeRequest): Promise<boolean>;
580
+ request(args: EIP1193UnsubscribeRequest): Promise<boolean>;
552
581
 
553
582
  request(args: T): Promise<unknown>;
554
583
  // request(args: EIP1193GenericRequest): Promise<unknown>;
555
584
  };
556
585
 
557
- export type EIP1193Provider<T = EIP1193Request> =
558
- EIP1193ProviderWithoutEvents<T> & {
559
- on(
560
- eventName: "message" | "disconnect",
561
- listener: Listener<EIP1193ProviderMessage | EIP1193EthSubscription>
562
- ): EIP1193Provider;
563
- on(
564
- eventName: "accountsChanged",
565
- listener: Listener<string[]>
566
- ): EIP1193Provider;
567
- on(eventName: "chainChanged", listener: Listener<string>): EIP1193Provider;
568
- on(
569
- eventName: "connect",
570
- listener: Listener<EIP1193ProviderConnectInfo>
571
- ): EIP1193Provider;
572
- removeListener(
573
- eventName: string | symbol,
574
- listener:
575
- | Listener<string>
576
- | Listener<string[]>
577
- | Listener<
578
- | EIP1193ProviderMessage
579
- | EIP1193EthSubscription
580
- | EIP1193ProviderConnectInfo
581
- >
582
- ): EIP1193Provider;
583
- };
586
+ export interface EIP1193Provider<T = EIP1193Request>
587
+ extends EIP1193ProviderWithoutEvents<T> {
588
+ on(eventName: "message", listener: Listener<EIP1193Message>): this;
589
+ on(
590
+ eventName: "disconnect",
591
+ listener: Listener<EIP1193ProviderRpcError>
592
+ ): this;
593
+ on(eventName: "accountsChanged", listener: Listener<EIP1193Account[]>): this;
594
+ on(eventName: "chainChanged", listener: Listener<EIP1193ChainId>): this;
595
+ on(eventName: "connect", listener: Listener<EIP1193ConnectInfoMessage>): this;
596
+ removeListener(
597
+ eventName: "message",
598
+ listener: Listener<EIP1193Message>
599
+ ): this;
600
+ removeListener(
601
+ eventName: "disconnect",
602
+ listener: Listener<EIP1193ProviderRpcError>
603
+ ): this;
604
+ removeListener(
605
+ eventName: "accountsChanged",
606
+ listener: Listener<EIP1193Account[]>
607
+ ): this;
608
+ removeListener(
609
+ eventName: "chainChanged",
610
+ listener: Listener<EIP1193ChainId>
611
+ ): this;
612
+ removeListener(
613
+ eventName: "connect",
614
+ listener: Listener<EIP1193ConnectInfoMessage>
615
+ ): this;
616
+ // removeListener(
617
+ // eventName: string | symbol,
618
+ // listener: Listener<unknown>
619
+ // ): this;
620
+ }
584
621
 
585
622
  export type EIP1193DATA = `0x${string}`;
586
623
  export type EIP1193BlockTag =
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eip-1193",
3
- "version": "0.1.5",
3
+ "version": "0.2.0",
4
4
  "description": "Types for EIP-1193",
5
5
  "keywords": [],
6
6
  "author": "",