viem 0.0.1-alpha.16 → 0.0.1-alpha.17
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/dist/chains.d.ts +1 -1
- package/dist/chains.js +5 -5
- package/dist/chains.mjs +1 -1
- package/dist/{chunk-LQXQPPTU.js → chunk-BL2ZZ7UN.js} +14 -14
- package/dist/{chunk-LQXQPPTU.js.map → chunk-BL2ZZ7UN.js.map} +0 -0
- package/dist/{chunk-4XREGFHD.js → chunk-EOY65E5E.js} +36 -13
- package/dist/chunk-EOY65E5E.js.map +1 -0
- package/dist/{chunk-WTXKCAG7.js → chunk-EVOCIEHK.js} +109 -53
- package/dist/chunk-EVOCIEHK.js.map +1 -0
- package/dist/{chunk-TSJ3OOJW.mjs → chunk-HF44N2P3.mjs} +2 -2
- package/dist/{chunk-TSJ3OOJW.mjs.map → chunk-HF44N2P3.mjs.map} +0 -0
- package/dist/{chunk-KCMYVU3Z.mjs → chunk-JNAHFK7Z.mjs} +26 -3
- package/dist/chunk-JNAHFK7Z.mjs.map +1 -0
- package/dist/{chunk-XJKOJIX3.js → chunk-KCXMY4FZ.js} +12 -12
- package/dist/{chunk-XJKOJIX3.js.map → chunk-KCXMY4FZ.js.map} +0 -0
- package/dist/{chunk-KM6AFT2K.mjs → chunk-KQI5IRRL.mjs} +2 -2
- package/dist/{chunk-KM6AFT2K.mjs.map → chunk-KQI5IRRL.mjs.map} +0 -0
- package/dist/{chunk-B7A2CAHU.mjs → chunk-KWHCOWNW.mjs} +63 -7
- package/dist/chunk-KWHCOWNW.mjs.map +1 -0
- package/dist/{chunk-U7QDLGQL.mjs → chunk-WQFS6KDQ.mjs} +2 -2
- package/dist/{chunk-U7QDLGQL.mjs.map → chunk-WQFS6KDQ.mjs.map} +0 -0
- package/dist/{chunk-EWTLCB3N.js → chunk-XEGTPY6M.js} +2 -2
- package/dist/{chunk-EWTLCB3N.js.map → chunk-XEGTPY6M.js.map} +0 -0
- package/dist/clients/index.d.ts +7 -7
- package/dist/clients/index.js +3 -3
- package/dist/clients/index.mjs +2 -2
- package/dist/{createClient-cd948138.d.ts → createClient-aadeff37.d.ts} +1 -1
- package/dist/{createPublicClient-989a0556.d.ts → createPublicClient-88f35518.d.ts} +2 -2
- package/dist/{createTestClient-81507f58.d.ts → createTestClient-fbf66ec2.d.ts} +2 -2
- package/dist/{createWalletClient-43f801b9.d.ts → createWalletClient-b13dabd6.d.ts} +2 -2
- package/dist/{eip1193-4330b722.d.ts → eip1193-3a40c941.d.ts} +9 -6
- package/dist/index.d.ts +47 -16
- package/dist/index.js +10 -6
- package/dist/index.mjs +13 -9
- package/dist/{parseGwei-f2d23de6.d.ts → parseGwei-e6f49667.d.ts} +2 -2
- package/dist/public.d.ts +9 -9
- package/dist/public.js +4 -4
- package/dist/public.mjs +5 -5
- package/dist/{rpc-b77c5aee.d.ts → rpc-858670f1.d.ts} +12 -1
- package/dist/{sendTransaction-7a9d241a.d.ts → sendTransaction-bd109cd4.d.ts} +3 -3
- package/dist/{stopImpersonatingAccount-8113150e.d.ts → stopImpersonatingAccount-6603ebdd.d.ts} +2 -2
- package/dist/test.d.ts +5 -5
- package/dist/test.js +3 -3
- package/dist/test.mjs +2 -2
- package/dist/{transactionReceipt-5d332aab.d.ts → transactionReceipt-86c1094c.d.ts} +30 -4
- package/dist/{transactionRequest-327eb7c2.d.ts → transactionRequest-8e970b0e.d.ts} +1 -1
- package/dist/utils/index.d.ts +5 -5
- package/dist/utils/index.js +2 -2
- package/dist/utils/index.mjs +1 -1
- package/dist/wallet.d.ts +7 -7
- package/dist/wallet.js +3 -3
- package/dist/wallet.mjs +2 -2
- package/dist/{watchAsset-0088384c.d.ts → watchAsset-7ef25553.d.ts} +3 -3
- package/dist/{watchPendingTransactions-670a7ca3.d.ts → watchPendingTransactions-2563071e.d.ts} +26 -11
- package/dist/{webSocket-9a3b0b26.d.ts → webSocket-2a77cdb3.d.ts} +2 -2
- package/dist/window.d.ts +2 -2
- package/package.json +1 -1
- package/src/actions/index.test.ts +3 -1
- package/src/actions/index.ts +9 -3
- package/src/actions/public/createEventFilter.ts +2 -4
- package/src/actions/public/deployContract.test.ts +8 -8
- package/src/actions/public/getLogs.test.ts +105 -0
- package/src/actions/public/getLogs.ts +83 -0
- package/src/actions/public/index.test.ts +2 -1
- package/src/actions/public/index.ts +8 -5
- package/src/actions/public/simulateContract.bench.ts +31 -0
- package/src/actions/public/simulateContract.test.ts +238 -0
- package/src/actions/public/{callContract.ts → simulateContract.ts} +34 -12
- package/src/actions/wallet/index.test.ts +1 -0
- package/src/actions/wallet/index.ts +3 -0
- package/src/actions/wallet/writeContract.test.ts +54 -0
- package/src/actions/wallet/writeContract.ts +61 -0
- package/src/index.test.ts +3 -1
- package/src/index.ts +9 -3
- package/src/public.ts +3 -3
- package/src/types/eip1193.ts +9 -6
- package/src/types/index.ts +1 -1
- package/src/types/misc.ts +1 -0
- package/dist/chunk-4XREGFHD.js.map +0 -1
- package/dist/chunk-B7A2CAHU.mjs.map +0 -1
- package/dist/chunk-KCMYVU3Z.mjs.map +0 -1
- package/dist/chunk-WTXKCAG7.js.map +0 -1
- package/src/actions/public/callContract.bench.ts +0 -24
- package/src/actions/public/callContract.test.ts +0 -285
package/dist/chains.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { R as RpcBlock,
|
1
|
+
import { R as RpcBlock, f as Block, q as RpcTransaction, D as Transaction, r as RpcTransactionReceipt, T as TransactionReceipt, v as TransactionRequest, s as RpcTransactionRequest, N as TransactionType, b as Hex } from './rpc-858670f1.js';
|
2
2
|
import { Chain as Chain$1 } from '@wagmi/chains';
|
3
3
|
|
4
4
|
type Formatter<TSource = any, TTarget = any> = (value: TSource & {
|
package/dist/chains.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
|
6
|
-
var
|
6
|
+
var _chunkXEGTPY6Mjs = require('./chunk-XEGTPY6M.js');
|
7
7
|
|
8
8
|
// src/chains.ts
|
9
9
|
|
@@ -48,13 +48,13 @@ function defineFormatter({
|
|
48
48
|
};
|
49
49
|
};
|
50
50
|
}
|
51
|
-
var defineBlock = defineFormatter({ format:
|
52
|
-
var defineTransaction = defineFormatter({ format:
|
51
|
+
var defineBlock = defineFormatter({ format: _chunkXEGTPY6Mjs.formatBlock });
|
52
|
+
var defineTransaction = defineFormatter({ format: _chunkXEGTPY6Mjs.formatTransaction });
|
53
53
|
var defineTransactionRequest = defineFormatter({
|
54
|
-
format:
|
54
|
+
format: _chunkXEGTPY6Mjs.formatTransactionRequest
|
55
55
|
});
|
56
56
|
var defineTransactionReceipt = defineFormatter({
|
57
|
-
format:
|
57
|
+
format: _chunkXEGTPY6Mjs.formatTransactionReceipt
|
58
58
|
});
|
59
59
|
var arbitrumGoerli = defineChain(_chains.arbitrumGoerli);
|
60
60
|
var arbitrum = defineChain(_chains.arbitrum);
|
package/dist/chains.mjs
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
var
|
5
|
+
var _chunkXEGTPY6Mjs = require('./chunk-XEGTPY6M.js');
|
6
6
|
|
7
7
|
// src/actions/test/dropTransaction.ts
|
8
8
|
async function dropTransaction(client, { hash }) {
|
@@ -32,8 +32,8 @@ async function getTxpoolStatus(client) {
|
|
32
32
|
method: "txpool_status"
|
33
33
|
});
|
34
34
|
return {
|
35
|
-
pending:
|
36
|
-
queued:
|
35
|
+
pending: _chunkXEGTPY6Mjs.hexToNumber.call(void 0, pending),
|
36
|
+
queued: _chunkXEGTPY6Mjs.hexToNumber.call(void 0, queued)
|
37
37
|
};
|
38
38
|
}
|
39
39
|
|
@@ -49,7 +49,7 @@ async function impersonateAccount(client, { address }) {
|
|
49
49
|
async function increaseTime(client, { seconds }) {
|
50
50
|
return await client.request({
|
51
51
|
method: "evm_increaseTime",
|
52
|
-
params: [
|
52
|
+
params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, seconds)]
|
53
53
|
});
|
54
54
|
}
|
55
55
|
|
@@ -64,7 +64,7 @@ async function inspectTxpool(client) {
|
|
64
64
|
async function mine(client, { blocks, interval }) {
|
65
65
|
return await client.request({
|
66
66
|
method: `${client.mode}_mine`,
|
67
|
-
params: [
|
67
|
+
params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, blocks), _chunkXEGTPY6Mjs.numberToHex.call(void 0, interval || 0)]
|
68
68
|
});
|
69
69
|
}
|
70
70
|
|
@@ -93,7 +93,7 @@ async function revert(client, { id }) {
|
|
93
93
|
|
94
94
|
// src/actions/test/sendUnsignedTransaction.ts
|
95
95
|
async function sendUnsignedTransaction(client, request) {
|
96
|
-
const request_ =
|
96
|
+
const request_ = _chunkXEGTPY6Mjs.formatTransactionRequest.call(void 0, request);
|
97
97
|
const hash = await client.request({
|
98
98
|
method: "eth_sendUnsignedTransaction",
|
99
99
|
params: [request_]
|
@@ -113,7 +113,7 @@ async function setAutomine(client, enabled) {
|
|
113
113
|
async function setBalance(client, { address, value }) {
|
114
114
|
return await client.request({
|
115
115
|
method: `${client.mode}_setBalance`,
|
116
|
-
params: [address,
|
116
|
+
params: [address, _chunkXEGTPY6Mjs.numberToHex.call(void 0, value)]
|
117
117
|
});
|
118
118
|
}
|
119
119
|
|
@@ -121,7 +121,7 @@ async function setBalance(client, { address, value }) {
|
|
121
121
|
async function setBlockGasLimit(client, { gasLimit }) {
|
122
122
|
return await client.request({
|
123
123
|
method: "evm_setBlockGasLimit",
|
124
|
-
params: [
|
124
|
+
params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, gasLimit)]
|
125
125
|
});
|
126
126
|
}
|
127
127
|
|
@@ -169,7 +169,7 @@ async function setLoggingEnabled(client, enabled) {
|
|
169
169
|
async function setMinGasPrice(client, { gasPrice }) {
|
170
170
|
return await client.request({
|
171
171
|
method: `${client.mode}_setMinGasPrice`,
|
172
|
-
params: [
|
172
|
+
params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, gasPrice)]
|
173
173
|
});
|
174
174
|
}
|
175
175
|
|
@@ -177,7 +177,7 @@ async function setMinGasPrice(client, { gasPrice }) {
|
|
177
177
|
async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {
|
178
178
|
return await client.request({
|
179
179
|
method: `${client.mode}_setNextBlockBaseFeePerGas`,
|
180
|
-
params: [
|
180
|
+
params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, baseFeePerGas)]
|
181
181
|
});
|
182
182
|
}
|
183
183
|
|
@@ -185,7 +185,7 @@ async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {
|
|
185
185
|
async function setNextBlockTimestamp(client, { timestamp }) {
|
186
186
|
return await client.request({
|
187
187
|
method: "evm_setNextBlockTimestamp",
|
188
|
-
params: [
|
188
|
+
params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, timestamp)]
|
189
189
|
});
|
190
190
|
}
|
191
191
|
|
@@ -193,7 +193,7 @@ async function setNextBlockTimestamp(client, { timestamp }) {
|
|
193
193
|
async function setNonce(client, { address, nonce }) {
|
194
194
|
return await client.request({
|
195
195
|
method: `${client.mode}_setNonce`,
|
196
|
-
params: [address,
|
196
|
+
params: [address, _chunkXEGTPY6Mjs.numberToHex.call(void 0, nonce)]
|
197
197
|
});
|
198
198
|
}
|
199
199
|
|
@@ -203,7 +203,7 @@ async function setStorageAt(client, { address, index, value }) {
|
|
203
203
|
method: `${client.mode}_setStorageAt`,
|
204
204
|
params: [
|
205
205
|
address,
|
206
|
-
typeof index === "number" ?
|
206
|
+
typeof index === "number" ? _chunkXEGTPY6Mjs.numberToHex.call(void 0, index) : index,
|
207
207
|
value
|
208
208
|
]
|
209
209
|
});
|
@@ -253,4 +253,4 @@ async function stopImpersonatingAccount(client, { address }) {
|
|
253
253
|
|
254
254
|
|
255
255
|
exports.dropTransaction = dropTransaction; exports.getAutomine = getAutomine; exports.getTxpoolContent = getTxpoolContent; exports.getTxpoolStatus = getTxpoolStatus; exports.impersonateAccount = impersonateAccount; exports.increaseTime = increaseTime; exports.inspectTxpool = inspectTxpool; exports.mine = mine; exports.removeBlockTimestampInterval = removeBlockTimestampInterval; exports.reset = reset; exports.revert = revert; exports.sendUnsignedTransaction = sendUnsignedTransaction; exports.setAutomine = setAutomine; exports.setBalance = setBalance; exports.setBlockGasLimit = setBlockGasLimit; exports.setBlockTimestampInterval = setBlockTimestampInterval; exports.setCode = setCode; exports.setCoinbase = setCoinbase; exports.setIntervalMining = setIntervalMining; exports.setLoggingEnabled = setLoggingEnabled; exports.setMinGasPrice = setMinGasPrice; exports.setNextBlockBaseFeePerGas = setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = setNextBlockTimestamp; exports.setNonce = setNonce; exports.setStorageAt = setStorageAt; exports.snapshot = snapshot; exports.stopImpersonatingAccount = stopImpersonatingAccount;
|
256
|
-
//# sourceMappingURL=chunk-
|
256
|
+
//# sourceMappingURL=chunk-BL2ZZ7UN.js.map
|
File without changes
|
@@ -8,7 +8,8 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
|
11
|
+
|
12
|
+
var _chunkXEGTPY6Mjs = require('./chunk-XEGTPY6M.js');
|
12
13
|
|
13
14
|
// src/actions/wallet/addChain.ts
|
14
15
|
async function addChain(client, chain) {
|
@@ -17,7 +18,7 @@ async function addChain(client, chain) {
|
|
17
18
|
method: "wallet_addEthereumChain",
|
18
19
|
params: [
|
19
20
|
{
|
20
|
-
chainId:
|
21
|
+
chainId: _chunkXEGTPY6Mjs.numberToHex.call(void 0, id),
|
21
22
|
chainName: name,
|
22
23
|
nativeCurrency,
|
23
24
|
rpcUrls: rpcUrls.default.http,
|
@@ -30,7 +31,7 @@ async function addChain(client, chain) {
|
|
30
31
|
// src/actions/wallet/getAccounts.ts
|
31
32
|
async function getAccounts(client) {
|
32
33
|
const addresses = await client.request({ method: "eth_accounts" });
|
33
|
-
return addresses.map((address) =>
|
34
|
+
return addresses.map((address) => _chunkXEGTPY6Mjs.checksumAddress.call(void 0, address));
|
34
35
|
}
|
35
36
|
|
36
37
|
// src/actions/wallet/getPermissions.ts
|
@@ -42,7 +43,7 @@ async function getPermissions(client) {
|
|
42
43
|
// src/actions/wallet/requestAccounts.ts
|
43
44
|
async function requestAccounts(client) {
|
44
45
|
const addresses = await client.request({ method: "eth_requestAccounts" });
|
45
|
-
return addresses.map((address) =>
|
46
|
+
return addresses.map((address) => _chunkXEGTPY6Mjs.getAddress.call(void 0, address));
|
46
47
|
}
|
47
48
|
|
48
49
|
// src/actions/wallet/requestPermissions.ts
|
@@ -69,9 +70,9 @@ async function sendTransaction(client, {
|
|
69
70
|
...rest
|
70
71
|
}) {
|
71
72
|
if (maxFeePerGas !== void 0 && maxPriorityFeePerGas !== void 0 && maxFeePerGas < maxPriorityFeePerGas)
|
72
|
-
throw new (0,
|
73
|
+
throw new (0, _chunkXEGTPY6Mjs.InvalidGasArgumentsError)();
|
73
74
|
const formatter = _optionalChain([chain, 'optionalAccess', _ => _.formatters, 'optionalAccess', _2 => _2.transactionRequest]);
|
74
|
-
const request_ =
|
75
|
+
const request_ = _chunkXEGTPY6Mjs.format.call(void 0,
|
75
76
|
{
|
76
77
|
from,
|
77
78
|
accessList,
|
@@ -83,10 +84,10 @@ async function sendTransaction(client, {
|
|
83
84
|
nonce,
|
84
85
|
to,
|
85
86
|
value,
|
86
|
-
...
|
87
|
+
..._chunkXEGTPY6Mjs.extract.call(void 0, rest, { formatter })
|
87
88
|
},
|
88
89
|
{
|
89
|
-
formatter: formatter ||
|
90
|
+
formatter: formatter || _chunkXEGTPY6Mjs.formatTransactionRequest
|
90
91
|
}
|
91
92
|
);
|
92
93
|
const hash = await client.request({
|
@@ -101,7 +102,7 @@ async function signMessage(client, { from, data: data_ }) {
|
|
101
102
|
let data;
|
102
103
|
if (typeof data_ === "string") {
|
103
104
|
if (!data_.startsWith("0x"))
|
104
|
-
throw new (0,
|
105
|
+
throw new (0, _chunkXEGTPY6Mjs.BaseError)(
|
105
106
|
`data ("${data_}") must be a hex value. Encode it first to a hex with the \`encodeHex\` util.`,
|
106
107
|
{
|
107
108
|
docsPath: "/TODO"
|
@@ -109,7 +110,7 @@ async function signMessage(client, { from, data: data_ }) {
|
|
109
110
|
);
|
110
111
|
data = data_;
|
111
112
|
} else {
|
112
|
-
data =
|
113
|
+
data = _chunkXEGTPY6Mjs.encodeHex.call(void 0, data_);
|
113
114
|
}
|
114
115
|
const signed = await client.request({
|
115
116
|
method: "personal_sign",
|
@@ -124,7 +125,7 @@ async function switchChain(client, { id }) {
|
|
124
125
|
method: "wallet_switchEthereumChain",
|
125
126
|
params: [
|
126
127
|
{
|
127
|
-
chainId:
|
128
|
+
chainId: _chunkXEGTPY6Mjs.numberToHex.call(void 0, id)
|
128
129
|
}
|
129
130
|
]
|
130
131
|
});
|
@@ -139,6 +140,28 @@ async function watchAsset(client, params) {
|
|
139
140
|
return added;
|
140
141
|
}
|
141
142
|
|
143
|
+
// src/actions/wallet/writeContract.ts
|
144
|
+
async function writeContract(client, {
|
145
|
+
abi,
|
146
|
+
address,
|
147
|
+
args,
|
148
|
+
functionName,
|
149
|
+
...request
|
150
|
+
}) {
|
151
|
+
const data = _chunkXEGTPY6Mjs.encodeFunctionData.call(void 0, {
|
152
|
+
abi,
|
153
|
+
args,
|
154
|
+
functionName
|
155
|
+
});
|
156
|
+
const hash = await sendTransaction(client, {
|
157
|
+
data,
|
158
|
+
to: address,
|
159
|
+
...request
|
160
|
+
});
|
161
|
+
return hash;
|
162
|
+
}
|
163
|
+
|
164
|
+
|
142
165
|
|
143
166
|
|
144
167
|
|
@@ -149,5 +172,5 @@ async function watchAsset(client, params) {
|
|
149
172
|
|
150
173
|
|
151
174
|
|
152
|
-
exports.addChain = addChain; exports.getAccounts = getAccounts; exports.getPermissions = getPermissions; exports.requestAccounts = requestAccounts; exports.requestPermissions = requestPermissions; exports.sendTransaction = sendTransaction; exports.signMessage = signMessage; exports.switchChain = switchChain; exports.watchAsset = watchAsset;
|
153
|
-
//# sourceMappingURL=chunk-
|
175
|
+
exports.addChain = addChain; exports.getAccounts = getAccounts; exports.getPermissions = getPermissions; exports.requestAccounts = requestAccounts; exports.requestPermissions = requestPermissions; exports.sendTransaction = sendTransaction; exports.signMessage = signMessage; exports.switchChain = switchChain; exports.watchAsset = watchAsset; exports.writeContract = writeContract;
|
176
|
+
//# sourceMappingURL=chunk-EOY65E5E.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../src/actions/wallet/addChain.ts","../src/actions/wallet/getAccounts.ts","../src/actions/wallet/getPermissions.ts","../src/actions/wallet/requestAccounts.ts","../src/actions/wallet/requestPermissions.ts","../src/actions/wallet/sendTransaction.ts","../src/actions/wallet/signMessage.ts","../src/actions/wallet/switchChain.ts","../src/actions/wallet/watchAsset.ts","../src/actions/wallet/writeContract.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Chain } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport async function addChain(client: WalletClient, chain: Chain) {\n const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain\n await client.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n chainName: name,\n nativeCurrency,\n rpcUrls: rpcUrls.default.http,\n blockExplorerUrls: blockExplorers\n ? Object.values(blockExplorers).map(({ url }) => url)\n : undefined,\n },\n ],\n })\n}\n","import type { WalletClient } from '../../clients'\nimport { checksumAddress } from '../../utils/address'\n\nexport async function getAccounts(client: WalletClient) {\n const addresses = await client.request({ method: 'eth_accounts' })\n return addresses.map((address) => checksumAddress(address))\n}\n","import type { WalletClient } from '../../clients'\nimport type { WalletPermission } from '../../types/eip1193'\n\nexport type GetPermissionsResponse = WalletPermission[]\n\nexport async function getPermissions(client: WalletClient) {\n const permissions = await client.request({ method: 'wallet_getPermissions' })\n return permissions\n}\n","import type { WalletClient } from '../../clients'\nimport { getAddress } from '../../utils'\n\nexport async function requestAccounts(client: WalletClient) {\n const addresses = await client.request({ method: 'eth_requestAccounts' })\n return addresses.map((address) => getAddress(address))\n}\n","import type { WalletClient } from '../../clients'\nimport type { WalletPermission } from '../../types/eip1193'\n\nexport type RequestPermissionsArgs = {\n eth_accounts: Record<string, any>\n} & {\n [key: string]: Record<string, any>\n}\nexport type RequestPermissionsResponse = WalletPermission[]\n\nexport async function requestPermissions(\n client: WalletClient,\n permissions: RequestPermissionsArgs,\n) {\n return client.request({\n method: 'wallet_requestPermissions',\n params: [permissions],\n })\n}\n","import type { Chain, Formatter } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport { InvalidGasArgumentsError } from '../../errors'\nimport type {\n Hash,\n MergeIntersectionProperties,\n TransactionRequest,\n} from '../../types'\nimport type { Formatted, TransactionRequestFormatter } from '../../utils'\nimport { extract, format, formatTransactionRequest } from '../../utils'\n\nexport type FormattedTransactionRequest<\n TFormatter extends Formatter | undefined = Formatter,\n> = MergeIntersectionProperties<\n Formatted<TFormatter, TransactionRequest, true>,\n TransactionRequest\n>\n\nexport type SendTransactionArgs<TChain extends Chain = Chain> =\n FormattedTransactionRequest<TransactionRequestFormatter<TChain>> & {\n chain?: TChain\n }\n\nexport type SendTransactionResponse = Hash\n\nexport async function sendTransaction<TChain extends Chain>(\n client: WalletClient,\n {\n chain,\n from,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n ...rest\n }: SendTransactionArgs<TChain>,\n): Promise<SendTransactionResponse> {\n if (\n maxFeePerGas !== undefined &&\n maxPriorityFeePerGas !== undefined &&\n maxFeePerGas < maxPriorityFeePerGas\n )\n throw new InvalidGasArgumentsError()\n\n const formatter = chain?.formatters?.transactionRequest\n const request_ = format(\n {\n from,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n // Pick out extra data that might exist on the chain's transaction request type.\n ...extract(rest, { formatter }),\n } as TransactionRequest,\n {\n formatter: formatter || formatTransactionRequest,\n },\n )\n\n const hash = await client.request({\n method: 'eth_sendTransaction',\n params: [request_],\n })\n return hash\n}\n","import type { WalletClient } from '../../clients'\nimport { BaseError } from '../../errors'\nimport type { Address, ByteArray, Hex } from '../../types'\nimport { encodeHex } from '../../utils'\n\nexport type SignMessageArgs = {\n from: Address\n data: Hex | ByteArray\n}\n\nexport type SignMessageResponse = Hex\n\nexport async function signMessage(\n client: WalletClient,\n { from, data: data_ }: SignMessageArgs,\n): Promise<SignMessageResponse> {\n let data\n if (typeof data_ === 'string') {\n if (!data_.startsWith('0x'))\n throw new BaseError(\n `data (\"${data_}\") must be a hex value. Encode it first to a hex with the \\`encodeHex\\` util.`,\n {\n docsPath: '/TODO',\n },\n )\n data = data_\n } else {\n data = encodeHex(data_)\n }\n const signed = await client.request({\n method: 'personal_sign',\n params: [data, from],\n })\n return signed\n}\n","import type { Chain } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type SwitchChainArgs = { id: Chain['id'] }\n\nexport async function switchChain(\n client: WalletClient,\n { id }: SwitchChainArgs,\n) {\n await client.request({\n method: 'wallet_switchEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n },\n ],\n })\n}\n","import type { WalletClient } from '../../clients'\nimport type { WatchAssetParams } from '../../types/eip1193'\n\nexport type WatchAssetArgs = WatchAssetParams\nexport type WatchAssetResponse = boolean\n\nexport async function watchAsset(\n client: WalletClient,\n params: WatchAssetParams,\n): Promise<WatchAssetResponse> {\n const added = await client.request({\n method: 'wallet_watchAsset',\n params: [params],\n })\n return added\n}\n","import { Abi } from 'abitype'\n\nimport type { Chain, Formatter } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport type {\n Address,\n ExtractArgsFromAbi,\n ExtractFunctionNameFromAbi,\n GetValue,\n} from '../../types'\nimport { EncodeFunctionDataArgs, encodeFunctionData } from '../../utils'\nimport {\n FormattedTransactionRequest,\n sendTransaction,\n SendTransactionArgs,\n SendTransactionResponse,\n} from './sendTransaction'\n\nexport type FormattedWriteContract<\n TFormatter extends Formatter | undefined = Formatter,\n> = FormattedTransactionRequest<TFormatter>\n\nexport type WriteContractArgs<\n TChain extends Chain = Chain,\n TAbi extends Abi | readonly unknown[] = Abi,\n TFunctionName extends string = any,\n> = Omit<SendTransactionArgs<TChain>, 'to' | 'data' | 'value'> & {\n address: Address\n abi: TAbi\n functionName: ExtractFunctionNameFromAbi<TAbi, TFunctionName>\n value?: GetValue<TAbi, TFunctionName, SendTransactionArgs<TChain>['value']>\n} & ExtractArgsFromAbi<TAbi, TFunctionName>\n\nexport type WriteContractResponse = SendTransactionResponse\n\nexport async function writeContract<\n TChain extends Chain,\n TAbi extends Abi = Abi,\n TFunctionName extends string = any,\n>(\n client: WalletClient,\n {\n abi,\n address,\n args,\n functionName,\n ...request\n }: WriteContractArgs<TChain, TAbi, TFunctionName>,\n): Promise<WriteContractResponse> {\n const data = encodeFunctionData({\n abi,\n args,\n functionName,\n } as unknown as EncodeFunctionDataArgs<TAbi, TFunctionName>)\n const hash = await sendTransaction(client, {\n data,\n to: address,\n ...request,\n } as unknown as SendTransactionArgs<TChain>)\n return hash\n}\n"]}
|