viem 2.28.3 → 2.29.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.
- package/CHANGELOG.md +24 -0
- package/_cjs/actions/public/watchBlocks.js +4 -4
- package/_cjs/actions/public/watchBlocks.js.map +1 -1
- package/_cjs/actions/wallet/getCallsStatus.js.map +1 -1
- package/_cjs/actions/wallet/getCapabilities.js +8 -2
- package/_cjs/actions/wallet/getCapabilities.js.map +1 -1
- package/_cjs/actions/wallet/sendCalls.js +18 -2
- package/_cjs/actions/wallet/sendCalls.js.map +1 -1
- package/_cjs/chains/definitions/plumeMainnet.js +4 -4
- package/_cjs/chains/definitions/plumeMainnet.js.map +1 -1
- package/_cjs/chains/definitions/plumeSepolia.js +4 -4
- package/_cjs/chains/definitions/plumeSepolia.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/experimental/erc7846/actions/connect.js +108 -0
- package/_cjs/experimental/erc7846/actions/connect.js.map +1 -0
- package/_cjs/experimental/erc7846/actions/disconnect.js +7 -0
- package/_cjs/experimental/erc7846/actions/disconnect.js.map +1 -0
- package/_cjs/experimental/erc7846/decorators/erc7846.js +14 -0
- package/_cjs/experimental/erc7846/decorators/erc7846.js.map +1 -0
- package/_cjs/experimental/erc7846/index.js +10 -0
- package/_cjs/experimental/erc7846/index.js.map +1 -0
- package/_cjs/experimental/erc7895/actions/addSubAccount.js +21 -0
- package/_cjs/experimental/erc7895/actions/addSubAccount.js.map +1 -0
- package/_cjs/experimental/erc7895/decorators/erc7895.js +12 -0
- package/_cjs/experimental/erc7895/decorators/erc7895.js.map +1 -0
- package/_cjs/experimental/erc7895/index.js +8 -0
- package/_cjs/experimental/erc7895/index.js.map +1 -0
- package/_cjs/experimental/index.js +5 -1
- package/_cjs/experimental/index.js.map +1 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/types/capabilities.js +3 -0
- package/_cjs/types/capabilities.js.map +1 -0
- package/_cjs/types/eip1193.js.map +1 -1
- package/_cjs/types/register.js +3 -0
- package/_cjs/types/register.js.map +1 -0
- package/_esm/actions/public/watchBlocks.js +4 -4
- package/_esm/actions/public/watchBlocks.js.map +1 -1
- package/_esm/actions/wallet/getCallsStatus.js.map +1 -1
- package/_esm/actions/wallet/getCapabilities.js +8 -2
- package/_esm/actions/wallet/getCapabilities.js.map +1 -1
- package/_esm/actions/wallet/sendCalls.js +18 -2
- package/_esm/actions/wallet/sendCalls.js.map +1 -1
- package/_esm/chains/definitions/plumeMainnet.js +4 -4
- package/_esm/chains/definitions/plumeMainnet.js.map +1 -1
- package/_esm/chains/definitions/plumeSepolia.js +4 -4
- package/_esm/chains/definitions/plumeSepolia.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/experimental/erc7846/actions/connect.js +128 -0
- package/_esm/experimental/erc7846/actions/connect.js.map +1 -0
- package/_esm/experimental/erc7846/actions/disconnect.js +25 -0
- package/_esm/experimental/erc7846/actions/disconnect.js.map +1 -0
- package/_esm/experimental/erc7846/decorators/erc7846.js +26 -0
- package/_esm/experimental/erc7846/decorators/erc7846.js.map +1 -0
- package/_esm/experimental/erc7846/index.js +5 -0
- package/_esm/experimental/erc7846/index.js.map +1 -0
- package/_esm/experimental/erc7895/actions/addSubAccount.js +42 -0
- package/_esm/experimental/erc7895/actions/addSubAccount.js.map +1 -0
- package/_esm/experimental/erc7895/decorators/erc7895.js +27 -0
- package/_esm/experimental/erc7895/decorators/erc7895.js.map +1 -0
- package/_esm/experimental/erc7895/index.js +4 -0
- package/_esm/experimental/erc7895/index.js.map +1 -0
- package/_esm/experimental/index.js +2 -0
- package/_esm/experimental/index.js.map +1 -1
- package/_esm/index.js.map +1 -1
- package/_esm/types/capabilities.js +2 -0
- package/_esm/types/capabilities.js.map +1 -0
- package/_esm/types/eip1193.js.map +1 -1
- package/_esm/types/register.js +2 -0
- package/_esm/types/register.js.map +1 -0
- package/_types/actions/wallet/getCallsStatus.d.ts +3 -2
- package/_types/actions/wallet/getCallsStatus.d.ts.map +1 -1
- package/_types/actions/wallet/getCapabilities.d.ts +2 -2
- package/_types/actions/wallet/getCapabilities.d.ts.map +1 -1
- package/_types/actions/wallet/sendCalls.d.ts +7 -5
- package/_types/actions/wallet/sendCalls.d.ts.map +1 -1
- package/_types/chains/definitions/plumeMainnet.d.ts +4 -4
- package/_types/chains/definitions/plumeSepolia.d.ts +4 -4
- package/_types/errors/version.d.ts +1 -1
- package/_types/experimental/erc7846/actions/connect.d.ts +41 -0
- package/_types/experimental/erc7846/actions/connect.d.ts.map +1 -0
- package/_types/experimental/erc7846/actions/disconnect.d.ts +28 -0
- package/_types/experimental/erc7846/actions/disconnect.d.ts.map +1 -0
- package/_types/experimental/erc7846/decorators/erc7846.d.ts +68 -0
- package/_types/experimental/erc7846/decorators/erc7846.d.ts.map +1 -0
- package/_types/experimental/erc7846/index.d.ts +4 -0
- package/_types/experimental/erc7846/index.d.ts.map +1 -0
- package/_types/experimental/erc7895/actions/addSubAccount.d.ts +56 -0
- package/_types/experimental/erc7895/actions/addSubAccount.d.ts.map +1 -0
- package/_types/experimental/erc7895/decorators/erc7895.d.ts +52 -0
- package/_types/experimental/erc7895/decorators/erc7895.d.ts.map +1 -0
- package/_types/experimental/erc7895/index.d.ts +3 -0
- package/_types/experimental/erc7895/index.d.ts.map +1 -0
- package/_types/experimental/index.d.ts +2 -0
- package/_types/experimental/index.d.ts.map +1 -1
- package/_types/index.d.ts +8 -2
- package/_types/index.d.ts.map +1 -1
- package/_types/types/capabilities.d.ts +58 -0
- package/_types/types/capabilities.d.ts.map +1 -0
- package/_types/types/eip1193.d.ts +74 -13
- package/_types/types/eip1193.d.ts.map +1 -1
- package/_types/types/register.d.ts +14 -0
- package/_types/types/register.d.ts.map +1 -0
- package/actions/public/watchBlocks.ts +4 -4
- package/actions/wallet/getCallsStatus.ts +3 -5
- package/actions/wallet/getCapabilities.ts +18 -9
- package/actions/wallet/sendCalls.ts +32 -11
- package/chains/definitions/plumeMainnet.ts +4 -4
- package/chains/definitions/plumeSepolia.ts +4 -4
- package/errors/version.ts +1 -1
- package/experimental/erc7846/actions/connect.ts +179 -0
- package/experimental/erc7846/actions/disconnect.ts +36 -0
- package/experimental/erc7846/decorators/erc7846.ts +88 -0
- package/experimental/erc7846/index.ts +13 -0
- package/experimental/erc7846/package.json +6 -0
- package/experimental/erc7895/actions/addSubAccount.ts +84 -0
- package/experimental/erc7895/decorators/erc7895.ts +70 -0
- package/experimental/erc7895/index.ts +9 -0
- package/experimental/erc7895/package.json +6 -0
- package/experimental/index.ts +10 -0
- package/index.ts +11 -3
- package/package.json +9 -1
- package/types/capabilities.ts +96 -0
- package/types/eip1193.ts +78 -18
- package/types/register.ts +15 -0
package/types/eip1193.ts
CHANGED
@@ -9,6 +9,7 @@ import type {
|
|
9
9
|
RpcUserOperationReceipt,
|
10
10
|
} from '../account-abstraction/types/rpc.js'
|
11
11
|
import type { BlockTag } from './block.js'
|
12
|
+
import type { Capabilities, ChainIdToCapabilities } from './capabilities.js'
|
12
13
|
import type { Hash, Hex, LogTopic } from './misc.js'
|
13
14
|
import type { RpcStateOverride } from './rpc.js'
|
14
15
|
import type {
|
@@ -121,17 +122,6 @@ export type NetworkSync = {
|
|
121
122
|
startingBlock: Quantity
|
122
123
|
}
|
123
124
|
|
124
|
-
export type WalletCapabilities = {
|
125
|
-
[capability: string]: any
|
126
|
-
}
|
127
|
-
|
128
|
-
export type WalletCapabilitiesRecord<
|
129
|
-
capabilities extends WalletCapabilities = WalletCapabilities,
|
130
|
-
id extends string | number = Hex,
|
131
|
-
> = {
|
132
|
-
[chainId in id]: capabilities
|
133
|
-
}
|
134
|
-
|
135
125
|
export type WalletCallReceipt<quantity = Hex, status = Hex> = {
|
136
126
|
logs: {
|
137
127
|
address: Hex
|
@@ -187,13 +177,13 @@ export type WalletGrantPermissionsReturnType = {
|
|
187
177
|
}
|
188
178
|
|
189
179
|
export type WalletGetCallsStatusReturnType<
|
190
|
-
capabilities extends
|
180
|
+
capabilities extends Capabilities = Capabilities,
|
191
181
|
numberType = Hex,
|
192
182
|
bigintType = Hex,
|
193
183
|
receiptStatus = Hex,
|
194
184
|
> = {
|
195
185
|
atomic: boolean
|
196
|
-
capabilities?: capabilities |
|
186
|
+
capabilities?: capabilities | Capabilities | undefined
|
197
187
|
chainId: numberType
|
198
188
|
id: string
|
199
189
|
receipts?: WalletCallReceipt<bigintType, receiptStatus>[] | undefined
|
@@ -215,19 +205,19 @@ export type WalletPermission = {
|
|
215
205
|
}
|
216
206
|
|
217
207
|
export type WalletSendCallsParameters<
|
218
|
-
capabilities extends
|
208
|
+
capabilities extends Capabilities = Capabilities,
|
219
209
|
chainId extends Hex | number = Hex,
|
220
210
|
quantity extends Quantity | bigint = Quantity,
|
221
211
|
> = [
|
222
212
|
{
|
223
213
|
atomicRequired: boolean
|
224
214
|
calls: readonly {
|
225
|
-
capabilities?: capabilities |
|
215
|
+
capabilities?: capabilities | Capabilities | undefined
|
226
216
|
to?: Address | undefined
|
227
217
|
data?: Hex | undefined
|
228
218
|
value?: quantity | undefined
|
229
219
|
}[]
|
230
|
-
capabilities?: capabilities |
|
220
|
+
capabilities?: capabilities | Capabilities | undefined
|
231
221
|
chainId?: chainId | undefined
|
232
222
|
id?: string | undefined
|
233
223
|
from?: Address | undefined
|
@@ -236,7 +226,7 @@ export type WalletSendCallsParameters<
|
|
236
226
|
]
|
237
227
|
|
238
228
|
export type WalletSendCallsReturnType<
|
239
|
-
capabilities extends
|
229
|
+
capabilities extends Capabilities = Capabilities,
|
240
230
|
> = {
|
241
231
|
capabilities?: capabilities | undefined
|
242
232
|
id: string
|
@@ -1774,6 +1764,76 @@ export type WalletRpcSchema = [
|
|
1774
1764
|
Parameters: [chain: AddEthereumChainParameter]
|
1775
1765
|
ReturnType: null
|
1776
1766
|
},
|
1767
|
+
/**
|
1768
|
+
*
|
1769
|
+
*/
|
1770
|
+
{
|
1771
|
+
Method: 'wallet_addSubAccount'
|
1772
|
+
Parameters: [
|
1773
|
+
{
|
1774
|
+
account: OneOf<
|
1775
|
+
| {
|
1776
|
+
keys: readonly {
|
1777
|
+
publicKey: Hex
|
1778
|
+
type: 'address' | 'p256' | 'webcrypto-p256' | 'webauthn-p256'
|
1779
|
+
}[]
|
1780
|
+
type: 'create'
|
1781
|
+
}
|
1782
|
+
| {
|
1783
|
+
address: Address
|
1784
|
+
chainId?: number | undefined
|
1785
|
+
type: 'deployed'
|
1786
|
+
}
|
1787
|
+
| {
|
1788
|
+
address: Address
|
1789
|
+
chainId?: number | undefined
|
1790
|
+
factory: Address
|
1791
|
+
factoryData: Hex
|
1792
|
+
type: 'undeployed'
|
1793
|
+
}
|
1794
|
+
>
|
1795
|
+
version: string
|
1796
|
+
},
|
1797
|
+
]
|
1798
|
+
ReturnType: {
|
1799
|
+
address: Address
|
1800
|
+
factory?: Address | undefined
|
1801
|
+
factoryData?: Hex | undefined
|
1802
|
+
}
|
1803
|
+
},
|
1804
|
+
/**
|
1805
|
+
* @description Requests to connect account(s).
|
1806
|
+
* @link https://github.com/ethereum/ERCs/blob/abd1c9f4eda2d6ad06ade0e3af314637a27d1ee7/ERCS/erc-7846.md
|
1807
|
+
* @example
|
1808
|
+
* provider.request({ method: 'wallet_connect' })
|
1809
|
+
* // => { ... }
|
1810
|
+
*/
|
1811
|
+
{
|
1812
|
+
Method: 'wallet_connect'
|
1813
|
+
Parameters: [
|
1814
|
+
{
|
1815
|
+
capabilities?: Capabilities | undefined
|
1816
|
+
version: string
|
1817
|
+
},
|
1818
|
+
]
|
1819
|
+
ReturnType: {
|
1820
|
+
accounts: readonly {
|
1821
|
+
address: Address
|
1822
|
+
capabilities?: Capabilities | undefined
|
1823
|
+
}[]
|
1824
|
+
}
|
1825
|
+
},
|
1826
|
+
/**
|
1827
|
+
* @description Disconnects connected account(s).
|
1828
|
+
* @link https://github.com/ethereum/ERCs/blob/abd1c9f4eda2d6ad06ade0e3af314637a27d1ee7/ERCS/erc-7846.md
|
1829
|
+
* @example
|
1830
|
+
* provider.request({ method: 'wallet_disconnect' })
|
1831
|
+
*/
|
1832
|
+
{
|
1833
|
+
Method: 'wallet_disconnect'
|
1834
|
+
Parameters?: undefined
|
1835
|
+
ReturnType: void
|
1836
|
+
},
|
1777
1837
|
/**
|
1778
1838
|
* @description Returns the status of a call batch that was sent via `wallet_sendCalls`.
|
1779
1839
|
* @link https://eips.ethereum.org/EIPS/eip-5792
|
@@ -1800,7 +1860,7 @@ export type WalletRpcSchema = [
|
|
1800
1860
|
| readonly [Address | undefined]
|
1801
1861
|
| readonly [Address | undefined, readonly Hex[] | undefined]
|
1802
1862
|
| undefined
|
1803
|
-
ReturnType: Prettify<
|
1863
|
+
ReturnType: Prettify<ChainIdToCapabilities>
|
1804
1864
|
},
|
1805
1865
|
/**
|
1806
1866
|
* @description Gets the wallets current permissions.
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import type { DefaultCapabilitiesSchema } from './capabilities.js'
|
2
|
+
|
3
|
+
// biome-ignore lint/suspicious/noEmptyInterface:
|
4
|
+
export interface Register {}
|
5
|
+
|
6
|
+
export type ResolvedRegister = {
|
7
|
+
CapabilitiesSchema: Register extends { CapabilitiesSchema: infer schema }
|
8
|
+
? schema
|
9
|
+
: DefaultRegister['CapabilitiesSchema']
|
10
|
+
}
|
11
|
+
|
12
|
+
/** @internal */
|
13
|
+
type DefaultRegister = {
|
14
|
+
CapabilitiesSchema: DefaultCapabilitiesSchema
|
15
|
+
}
|