@meshconnect/uwc-types 0.2.0 → 0.2.1

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.
@@ -1,7 +1,7 @@
1
1
  import type { Network, NetworkId, Namespace } from './networks';
2
2
  import type { AvailableAddress } from './session';
3
3
  import type { DetectedEIP6963WalletInfo, DetectedSolanaWalletInfo, ExtensionInjectedProvider, IntegratedBrowserInjectedProvider, WalletConnectProvider } from './UWC-state';
4
- import type { TransactionRequest, TransactionResult } from './transactions';
4
+ import type { EVMCapabilities, TransactionRequest, TransactionResult } from './transactions';
5
5
  /**
6
6
  * Result interface for connect operations
7
7
  */
@@ -72,5 +72,6 @@ export interface Connector {
72
72
  * @returns A promise that resolves to the transaction result
73
73
  */
74
74
  sendTransaction?(request: TransactionRequest, provider?: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider | WalletConnectProvider): Promise<TransactionResult>;
75
+ getWalletCapabilities?(from: string): Promise<Record<string, EVMCapabilities>>;
75
76
  }
76
77
  //# sourceMappingURL=connector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,EACjC,qBAAqB,EACtB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE3E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IAEH,OAAO,CACL,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,eAAe,CAAC,CAAA;IAE3B;;;;;;;OAOG;IACH,gBAAgB,CAAC,IAAI,MAAM,CAAA;IAE3B;;;;OAIG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5B;;;;;OAKG;IAEH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAE/B;;;;;OAKG;IACH,mBAAmB,CAAC,CAClB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,yBAAyB,EAAE,GAAG,wBAAwB,EAAE,CAAC,CAAA;IAEpE;;;;;OAKG;IACH,WAAW,CAAC,CACV,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,MAAM,CAAC,CAAA;IAElB;;;;;OAKG;IACH,eAAe,CAAC,CACd,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC9B"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,EACjC,qBAAqB,EACtB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAEvB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,CAAA;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;OAKG;IAEH,OAAO,CACL,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,eAAe,CAAC,CAAA;IAE3B;;;;;;;OAOG;IACH,gBAAgB,CAAC,IAAI,MAAM,CAAA;IAE3B;;;;OAIG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAE5B;;;;;OAKG;IAEH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAE/B;;;;;OAKG;IACH,mBAAmB,CAAC,CAClB,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,yBAAyB,EAAE,GAAG,wBAAwB,EAAE,CAAC,CAAA;IAEpE;;;;;OAKG;IACH,WAAW,CAAC,CACV,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,MAAM,CAAC,CAAA;IAElB;;;;;OAKG;IACH,eAAe,CAAC,CACd,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,CAAC,EACL,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAE7B,qBAAqB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;CAC/E"}
@@ -1,4 +1,4 @@
1
- import type { NetworkId, Network, ConnectionMode, Session, AvailableAddress, TransactionRequest, TransactionResult, WalletError } from './index';
1
+ import type { NetworkId, Network, ConnectionMode, Session, AvailableAddress, TransactionRequest, TransactionResult, WalletError, EVMCapabilities } from './index';
2
2
  /**
3
3
  * WalletConnect connection interface for the useConnection hook
4
4
  */
@@ -104,6 +104,14 @@ export interface UseSessionReturn {
104
104
  * The currently selected network, or null if not connected
105
105
  */
106
106
  activeNetwork: Network | null;
107
+ /**
108
+ * The capabilities of the currently connected wallet, or null if not connected
109
+ */
110
+ activeWalletCapabilities: Record<string, EVMCapabilities> | null;
111
+ /**
112
+ * The capabilities of the currently connected wallet on the active network, or null if not connected
113
+ */
114
+ activeNetworkWalletCapabilities: EVMCapabilities | null;
107
115
  /**
108
116
  * List of networks available for the connected wallet
109
117
  */
@@ -1 +1 @@
1
- {"version":3,"file":"react-hooks.d.ts","sourceRoot":"","sources":["../src/react-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,OAAO,EACP,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACZ,MAAM,SAAS,CAAA;AAIhB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,WAAW,GAAG,SAAS,CAAA;IAC9B;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,WAAW,GAAG,SAAS,CAAA;IAC9B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,aAAa,EAAE,uBAAuB,CAAA;IACtC;;OAEG;IACH,QAAQ,EAAE,kBAAkB,CAAA;IAC5B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;CACjB;AAID;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;OAEG;IACH,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,OAAO,EAAE,CAAA;IAC5B;;OAEG;IACH,eAAe,EAAE,cAAc,GAAG,IAAI,CAAA;IACtC;;OAEG;IACH,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;CACvC;AAID;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAA;IACjC;;OAEG;IACH,KAAK,EAAE,WAAW,GAAG,SAAS,CAAA;CAC/B;AAID;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACjD;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,KAAK,EAAE,WAAW,GAAG,SAAS,CAAA;CAC/B;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC5E;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAA;IAChD;;OAEG;IACH,KAAK,EAAE,WAAW,GAAG,SAAS,CAAA;CAC/B"}
1
+ {"version":3,"file":"react-hooks.d.ts","sourceRoot":"","sources":["../src/react-hooks.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { ConnectionMode } from './connection-mode';
2
2
  import type { Network, NetworkId } from './networks';
3
+ import type { EVMCapabilities } from './transactions';
3
4
  import type { WalletMetadata } from './UWC-state';
4
5
  export interface AvailableAddress {
5
6
  address: string;
@@ -8,6 +9,8 @@ export interface AvailableAddress {
8
9
  export interface Session {
9
10
  connectionMode: ConnectionMode | null;
10
11
  activeNetwork: Network | null;
12
+ activeWalletCapabilities: Record<string, EVMCapabilities> | null;
13
+ activeNetworkWalletCapabilities: EVMCapabilities | null;
11
14
  activeAddress: string | null;
12
15
  availableNetworks: Network[];
13
16
  activeWallet: WalletMetadata | null;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;IACrC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iBAAiB,EAAE,OAAO,EAAE,CAAA;IAC5B,YAAY,EAAE,cAAc,GAAG,IAAI,CAAA;IACnC,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;CACvC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;IACrC,aAAa,EAAE,OAAO,GAAG,IAAI,CAAA;IAC7B,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,IAAI,CAAA;IAChE,+BAA+B,EAAE,eAAe,GAAG,IAAI,CAAA;IACvD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iBAAiB,EAAE,OAAO,EAAE,CAAA;IAC5B,YAAY,EAAE,cAAc,GAAG,IAAI,CAAA;IACnC,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;CACvC"}
@@ -30,14 +30,6 @@ export interface EVMContractCallRequest {
30
30
  value?: string;
31
31
  gasConfig?: EVMGasConfig;
32
32
  }
33
- /**
34
- * Single call in a batch transaction
35
- */
36
- export interface EVMBatchCall {
37
- to: string;
38
- value: string;
39
- data?: string;
40
- }
41
33
  /**
42
34
  * Request for batch EVM transactions (EIP-5792)
43
35
  */
@@ -46,19 +38,20 @@ export interface EVMBatchTransactionRequest {
46
38
  from: string;
47
39
  chainId: string;
48
40
  atomicRequired: boolean;
49
- calls: EVMBatchCall[];
41
+ calls: (EVMNativeTransferRequest | EVMContractCallRequest)[];
50
42
  }
51
43
  /**
52
44
  * EVM wallet capabilities
53
45
  */
54
46
  export interface EVMCapabilities {
55
- atomicBatch?: {
56
- supported: boolean;
57
- };
58
- paymasterService?: {
59
- supported: boolean;
60
- };
47
+ alternateGasFees?: EVMCapability;
48
+ atomic?: EVMCapability;
49
+ paymasterService?: EVMCapability;
61
50
  }
51
+ export type EVMCapability = {
52
+ status: EVMCapabilityStatus;
53
+ };
54
+ export type EVMCapabilityStatus = 'supported' | 'ready' | 'unsupported';
62
55
  /**
63
56
  * Solana Transaction Types
64
57
  */
@@ -72,17 +65,41 @@ export interface SolanaNativeTransferRequest {
72
65
  blockhash: string;
73
66
  }
74
67
  /**
75
- * Configuration for Solana transactions (internal use)
68
+ * Request for SPL token transfer
76
69
  */
77
- export interface SolanaTransactionConfig {
78
- fromAddress: string;
79
- toAddress: string;
80
- amount: string | number;
81
- blockhash: string;
82
- tokenMint?: string;
83
- tokenDecimals?: number;
70
+ export interface SolanaTokenTransferRequest extends SolanaNativeTransferRequest {
71
+ tokenMint: string;
72
+ tokenDecimals: number;
84
73
  tokenProgram?: string;
85
- createATA?: boolean;
74
+ }
75
+ /**
76
+ * Request for Solana transfers with instructions
77
+ */
78
+ export interface SolanaGenericTransferRequest {
79
+ feePayer: string;
80
+ blockhash: string;
81
+ instructions: SolanaTransactionInstruction[];
82
+ states?: SolanaAddressLookupTable[];
83
+ additionalRequests?: (SolanaNativeTransferRequest | SolanaTokenTransferRequest)[];
84
+ }
85
+ export interface SolanaAddressLookupTable {
86
+ deactivationSlot: bigint;
87
+ lastExtendedSlot: number;
88
+ lastExtendedStartIndex: number;
89
+ key: string;
90
+ authority?: string;
91
+ addresses: string[];
92
+ }
93
+ export interface SolanaTransactionInstruction {
94
+ programId: string;
95
+ accounts: SolanaAccountMeta[];
96
+ data: string;
97
+ }
98
+ export interface SolanaAccountMeta {
99
+ shouldFillPubkey: boolean;
100
+ pubKey: string | null;
101
+ isWritable: boolean;
102
+ isSigner: boolean;
86
103
  }
87
104
  /**
88
105
  * Common Transaction Types
@@ -99,11 +116,13 @@ export interface BatchTransactionResult {
99
116
  status: number;
100
117
  atomic: boolean;
101
118
  receipts: Array<{
102
- transactionHash: string;
119
+ transactionHash: TransactionResult;
103
120
  }>;
104
121
  }
105
122
  /**
106
123
  * Generic transaction request that can be either EVM or Solana
107
124
  */
108
- export type TransactionRequest = EVMNativeTransferRequest | EVMContractCallRequest | EVMBatchTransactionRequest | SolanaNativeTransferRequest;
125
+ export type TransactionRequest = EthereumTransactionRequest | SolanaTransactionRequest;
126
+ export type EthereumTransactionRequest = EVMNativeTransferRequest | EVMContractCallRequest | EVMBatchTransactionRequest;
127
+ export type SolanaTransactionRequest = SolanaNativeTransferRequest | SolanaTokenTransferRequest | SolanaGenericTransferRequest;
109
128
  //# sourceMappingURL=transactions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,eAAe,EAAE,MAAM,CAAA;IAEvB,GAAG,EAAE,GAAG,EAAE,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,YAAY,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,YAAY,EAAE,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE;QACZ,SAAS,EAAE,OAAO,CAAA;KACnB,CAAA;IACD,gBAAgB,CAAC,EAAE;QACjB,SAAS,EAAE,OAAO,CAAA;KACnB,CAAA;CACF;AAED;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEtC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,eAAe,EAAE,MAAM,CAAA;KACxB,CAAC,CAAA;CACH;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,0BAA0B,GAC1B,2BAA2B,CAAA"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-types",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "TypeScript types for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/connector.ts CHANGED
@@ -7,7 +7,11 @@ import type {
7
7
  IntegratedBrowserInjectedProvider,
8
8
  WalletConnectProvider
9
9
  } from './UWC-state'
10
- import type { TransactionRequest, TransactionResult } from './transactions'
10
+ import type {
11
+ EVMCapabilities,
12
+ TransactionRequest,
13
+ TransactionResult
14
+ } from './transactions'
11
15
 
12
16
  /**
13
17
  * Result interface for connect operations
@@ -115,4 +119,6 @@ export interface Connector {
115
119
  | IntegratedBrowserInjectedProvider
116
120
  | WalletConnectProvider
117
121
  ): Promise<TransactionResult>
122
+
123
+ getWalletCapabilities?(from: string): Promise<Record<string, EVMCapabilities>>
118
124
  }
@@ -3,4 +3,4 @@ import type { NetworkId } from './networks'
3
3
  /**
4
4
  * Map of network IDs to their RPC URLs
5
5
  */
6
- export type NetworkRpcMap = Partial<Record<NetworkId, string>>
6
+ export type NetworkRpcMap = Partial<Record<NetworkId, string>>
@@ -6,7 +6,8 @@ import type {
6
6
  AvailableAddress,
7
7
  TransactionRequest,
8
8
  TransactionResult,
9
- WalletError
9
+ WalletError,
10
+ EVMCapabilities
10
11
  } from './index'
11
12
 
12
13
  // useConnection hook types
@@ -121,6 +122,14 @@ export interface UseSessionReturn {
121
122
  * The currently selected network, or null if not connected
122
123
  */
123
124
  activeNetwork: Network | null
125
+ /**
126
+ * The capabilities of the currently connected wallet, or null if not connected
127
+ */
128
+ activeWalletCapabilities: Record<string, EVMCapabilities> | null
129
+ /**
130
+ * The capabilities of the currently connected wallet on the active network, or null if not connected
131
+ */
132
+ activeNetworkWalletCapabilities: EVMCapabilities | null
124
133
  /**
125
134
  * List of networks available for the connected wallet
126
135
  */
package/src/session.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { ConnectionMode } from './connection-mode'
2
2
  import type { Network, NetworkId } from './networks'
3
+ import type { EVMCapabilities } from './transactions'
3
4
  import type { WalletMetadata } from './UWC-state'
4
5
 
5
6
  export interface AvailableAddress {
@@ -10,6 +11,8 @@ export interface AvailableAddress {
10
11
  export interface Session {
11
12
  connectionMode: ConnectionMode | null
12
13
  activeNetwork: Network | null
14
+ activeWalletCapabilities: Record<string, EVMCapabilities> | null
15
+ activeNetworkWalletCapabilities: EVMCapabilities | null
13
16
  activeAddress: string | null
14
17
  availableNetworks: Network[]
15
18
  activeWallet: WalletMetadata | null
package/src/signature.ts CHANGED
@@ -33,4 +33,4 @@ export interface SignatureService {
33
33
  message: string,
34
34
  provider: ExtensionInjectedProvider | IntegratedBrowserInjectedProvider
35
35
  ): Promise<SignatureResult>
36
- }
36
+ }
@@ -35,15 +35,6 @@ export interface EVMContractCallRequest {
35
35
  gasConfig?: EVMGasConfig
36
36
  }
37
37
 
38
- /**
39
- * Single call in a batch transaction
40
- */
41
- export interface EVMBatchCall {
42
- to: string
43
- value: string
44
- data?: string
45
- }
46
-
47
38
  /**
48
39
  * Request for batch EVM transactions (EIP-5792)
49
40
  */
@@ -52,21 +43,24 @@ export interface EVMBatchTransactionRequest {
52
43
  from: string
53
44
  chainId: string
54
45
  atomicRequired: boolean
55
- calls: EVMBatchCall[]
46
+ calls: (EVMNativeTransferRequest | EVMContractCallRequest)[]
56
47
  }
57
48
 
58
49
  /**
59
50
  * EVM wallet capabilities
60
51
  */
61
52
  export interface EVMCapabilities {
62
- atomicBatch?: {
63
- supported: boolean
64
- }
65
- paymasterService?: {
66
- supported: boolean
67
- }
53
+ alternateGasFees?: EVMCapability
54
+ atomic?: EVMCapability
55
+ paymasterService?: EVMCapability
68
56
  }
69
57
 
58
+ export type EVMCapability = {
59
+ status: EVMCapabilityStatus
60
+ }
61
+
62
+ export type EVMCapabilityStatus = 'supported' | 'ready' | 'unsupported'
63
+
70
64
  /**
71
65
  * Solana Transaction Types
72
66
  */
@@ -82,18 +76,49 @@ export interface SolanaNativeTransferRequest {
82
76
  }
83
77
 
84
78
  /**
85
- * Configuration for Solana transactions (internal use)
79
+ * Request for SPL token transfer
86
80
  */
87
- export interface SolanaTransactionConfig {
88
- fromAddress: string
89
- toAddress: string
90
- amount: string | number
91
- blockhash: string
92
- // Token-specific
93
- tokenMint?: string
94
- tokenDecimals?: number
81
+ export interface SolanaTokenTransferRequest
82
+ extends SolanaNativeTransferRequest {
83
+ tokenMint: string
84
+ tokenDecimals: number
95
85
  tokenProgram?: string
96
- createATA?: boolean
86
+ }
87
+
88
+ /**
89
+ * Request for Solana transfers with instructions
90
+ */
91
+ export interface SolanaGenericTransferRequest {
92
+ feePayer: string
93
+ blockhash: string
94
+ instructions: SolanaTransactionInstruction[]
95
+ states?: SolanaAddressLookupTable[]
96
+ additionalRequests?: (
97
+ | SolanaNativeTransferRequest
98
+ | SolanaTokenTransferRequest
99
+ )[]
100
+ }
101
+
102
+ export interface SolanaAddressLookupTable {
103
+ deactivationSlot: bigint
104
+ lastExtendedSlot: number
105
+ lastExtendedStartIndex: number
106
+ key: string
107
+ authority?: string
108
+ addresses: string[]
109
+ }
110
+
111
+ export interface SolanaTransactionInstruction {
112
+ programId: string
113
+ accounts: SolanaAccountMeta[]
114
+ data: string
115
+ }
116
+
117
+ export interface SolanaAccountMeta {
118
+ shouldFillPubkey: boolean
119
+ pubKey: string | null
120
+ isWritable: boolean
121
+ isSigner: boolean
97
122
  }
98
123
 
99
124
  /**
@@ -113,7 +138,7 @@ export interface BatchTransactionResult {
113
138
  status: number
114
139
  atomic: boolean
115
140
  receipts: Array<{
116
- transactionHash: string
141
+ transactionHash: TransactionResult
117
142
  }>
118
143
  }
119
144
 
@@ -121,7 +146,15 @@ export interface BatchTransactionResult {
121
146
  * Generic transaction request that can be either EVM or Solana
122
147
  */
123
148
  export type TransactionRequest =
149
+ | EthereumTransactionRequest
150
+ | SolanaTransactionRequest
151
+
152
+ export type EthereumTransactionRequest =
124
153
  | EVMNativeTransferRequest
125
154
  | EVMContractCallRequest
126
155
  | EVMBatchTransactionRequest
156
+
157
+ export type SolanaTransactionRequest =
127
158
  | SolanaNativeTransferRequest
159
+ | SolanaTokenTransferRequest
160
+ | SolanaGenericTransferRequest