viem 2.49.0 → 2.49.2
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 +12 -0
- package/_cjs/errors/version.js +1 -1
- package/_cjs/tempo/Formatters.js +11 -3
- package/_cjs/tempo/Formatters.js.map +1 -1
- package/_cjs/tempo/actions/wallet.js +3 -3
- package/_cjs/tempo/actions/wallet.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/tempo/Formatters.js +21 -4
- package/_esm/tempo/Formatters.js.map +1 -1
- package/_esm/tempo/actions/wallet.js +18 -5
- package/_esm/tempo/actions/wallet.js.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/tempo/Formatters.d.ts.map +1 -1
- package/_types/tempo/actions/wallet.d.ts +67 -15
- package/_types/tempo/actions/wallet.d.ts.map +1 -1
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/tempo/Formatters.ts +20 -4
- package/tempo/actions/wallet.ts +75 -21
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# viem
|
|
2
2
|
|
|
3
|
+
## 2.49.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`215469280e57b4ec729bd2537857a4ca363c984b`](https://github.com/wevm/viem/commit/215469280e57b4ec729bd2537857a4ca363c984b) Thanks [@jxom](https://github.com/jxom)! - `viem/tempo`: Renamed `Actions.wallet.send` to `Actions.wallet.transfer`.
|
|
8
|
+
|
|
9
|
+
## 2.49.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#4614](https://github.com/wevm/viem/pull/4614) [`8e914dfb47a3a5a95bc0f7527d74aaec626cc570`](https://github.com/wevm/viem/commit/8e914dfb47a3a5a95bc0f7527d74aaec626cc570) Thanks [@decofe](https://github.com/decofe)! - `viem/tempo`: Encoded WebAuthn `keyData` as a 2-byte length hint instead of a raw blob, and auto-shimmed user-provided values longer than 4 bytes.
|
|
14
|
+
|
|
3
15
|
## 2.49.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/_cjs/errors/version.js
CHANGED
package/_cjs/tempo/Formatters.js
CHANGED
|
@@ -71,12 +71,12 @@ function formatTransactionRequest(r, action) {
|
|
|
71
71
|
const [keyType, keyData] = (() => {
|
|
72
72
|
const type = account && 'keyType' in account ? account.keyType : account?.source;
|
|
73
73
|
if (!type)
|
|
74
|
-
return [request.keyType, request.keyData];
|
|
74
|
+
return [request.keyType, shimKeyData(request.keyData)];
|
|
75
75
|
if (type === 'webAuthn')
|
|
76
|
-
return ['webAuthn',
|
|
76
|
+
return ['webAuthn', '0x0578'];
|
|
77
77
|
if (['p256', 'secp256k1'].includes(type))
|
|
78
78
|
return [type, undefined];
|
|
79
|
-
return [request.keyType, request.keyData];
|
|
79
|
+
return [request.keyType, shimKeyData(request.keyData)];
|
|
80
80
|
})();
|
|
81
81
|
const keyId = account && 'accessKeyAddress' in account
|
|
82
82
|
? account.accessKeyAddress
|
|
@@ -102,4 +102,12 @@ function formatTransactionRequest(r, action) {
|
|
|
102
102
|
: {}),
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
|
+
function shimKeyData(data) {
|
|
106
|
+
if (!data)
|
|
107
|
+
return data;
|
|
108
|
+
const byteLength = (data.length - 2) / 2;
|
|
109
|
+
if (byteLength <= 4)
|
|
110
|
+
return data;
|
|
111
|
+
return Hex.fromNumber(byteLength, { size: 2 });
|
|
112
|
+
}
|
|
105
113
|
//# sourceMappingURL=Formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Formatters.js","sourceRoot":"","sources":["../../tempo/Formatters.ts"],"names":[],"mappings":";;AAwBA,8CAoCC;AAED,4DAIC;AAED,
|
|
1
|
+
{"version":3,"file":"Formatters.js","sourceRoot":"","sources":["../../tempo/Formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.transfer = transfer;
|
|
4
4
|
exports.swap = swap;
|
|
5
5
|
exports.deposit = deposit;
|
|
6
|
-
async function
|
|
6
|
+
async function transfer(client, parameters) {
|
|
7
7
|
return client.request({
|
|
8
|
-
method: '
|
|
8
|
+
method: 'wallet_transfer',
|
|
9
9
|
params: [parameters],
|
|
10
10
|
}, { retryCount: 0 });
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../tempo/actions/wallet.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../tempo/actions/wallet.ts"],"names":[],"mappings":";;AA6CA,4BAeC;AAoGD,oBAeC;AAiDD,0BAeC;AAlMM,KAAK,UAAU,QAAQ,CAC5B,MAAgC,EAChC,UAA+B;IAE/B,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC;AAoGM,KAAK,UAAU,IAAI,CACxB,MAAgC,EAChC,aAA8B,EAAE;IAEhC,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC;AAiDM,KAAK,UAAU,OAAO,CAC3B,MAAgC,EAChC,aAAiC,EAAE;IAEnC,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC"}
|
package/_esm/errors/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '2.49.
|
|
1
|
+
export const version = '2.49.2';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/_esm/tempo/Formatters.js
CHANGED
|
@@ -72,13 +72,16 @@ export function formatTransactionRequest(r, action) {
|
|
|
72
72
|
const [keyType, keyData] = (() => {
|
|
73
73
|
const type = account && 'keyType' in account ? account.keyType : account?.source;
|
|
74
74
|
if (!type)
|
|
75
|
-
return [request.keyType, request.keyData];
|
|
75
|
+
return [request.keyType, shimKeyData(request.keyData)];
|
|
76
76
|
if (type === 'webAuthn')
|
|
77
|
-
//
|
|
78
|
-
|
|
77
|
+
// Send a 2-byte big-endian length hint (1400 = 0x0578) instead of a
|
|
78
|
+
// 1400-byte dummy blob. The node's gas estimator expects key_data to
|
|
79
|
+
// be 1, 2, or 4 bytes encoding the desired WebAuthn signature size;
|
|
80
|
+
// anything else falls back to the 800-byte default.
|
|
81
|
+
return ['webAuthn', '0x0578'];
|
|
79
82
|
if (['p256', 'secp256k1'].includes(type))
|
|
80
83
|
return [type, undefined];
|
|
81
|
-
return [request.keyType, request.keyData];
|
|
84
|
+
return [request.keyType, shimKeyData(request.keyData)];
|
|
82
85
|
})();
|
|
83
86
|
const keyId = account && 'accessKeyAddress' in account
|
|
84
87
|
? account.accessKeyAddress
|
|
@@ -104,4 +107,18 @@ export function formatTransactionRequest(r, action) {
|
|
|
104
107
|
: {}),
|
|
105
108
|
};
|
|
106
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Auto-shim user-provided keyData that is longer than 4 bytes into a
|
|
112
|
+
* 2-byte big-endian length hint. The node gas estimator only accepts
|
|
113
|
+
* 1, 2, or 4-byte key_data as a size hint; anything else silently falls
|
|
114
|
+
* back to the 800-byte default.
|
|
115
|
+
*/
|
|
116
|
+
function shimKeyData(data) {
|
|
117
|
+
if (!data)
|
|
118
|
+
return data;
|
|
119
|
+
const byteLength = (data.length - 2) / 2; // subtract "0x" prefix
|
|
120
|
+
if (byteLength <= 4)
|
|
121
|
+
return data;
|
|
122
|
+
return Hex.fromNumber(byteLength, { size: 2 });
|
|
123
|
+
}
|
|
107
124
|
//# sourceMappingURL=Formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Formatters.js","sourceRoot":"","sources":["../../tempo/Formatters.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Formatters.js","sourceRoot":"","sources":["../../tempo/Formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Transfers a TIP-20 token. Discriminated on `editable`:
|
|
3
|
+
*
|
|
4
|
+
* - omitted or `false` (default): read-only. Uses an access key when
|
|
5
|
+
* one matches (signs without showing the wallet UI), otherwise falls
|
|
6
|
+
* back to a confirm dialog the user has to approve.
|
|
7
|
+
* - `true`: editable. Opens the wallet send UI with the supplied fields
|
|
8
|
+
* pre-filled for the user to confirm or edit before signing.
|
|
3
9
|
*
|
|
4
10
|
* @example
|
|
5
11
|
* ```ts
|
|
@@ -10,20 +16,27 @@
|
|
|
10
16
|
* transport: custom(window.ethereum),
|
|
11
17
|
* })
|
|
12
18
|
*
|
|
13
|
-
*
|
|
19
|
+
* // Read-only (no UI when an access key matches)
|
|
20
|
+
* const { receipt } = await Actions.wallet.transfer(client, {
|
|
14
21
|
* amount: '1.5',
|
|
15
22
|
* to: '0x...',
|
|
16
23
|
* token: '0x...',
|
|
17
24
|
* })
|
|
25
|
+
*
|
|
26
|
+
* // Editable (opens wallet UI)
|
|
27
|
+
* await Actions.wallet.transfer(client, {
|
|
28
|
+
* editable: true,
|
|
29
|
+
* token: 'pathUSD',
|
|
30
|
+
* })
|
|
18
31
|
* ```
|
|
19
32
|
*
|
|
20
33
|
* @param client - Client.
|
|
21
34
|
* @param parameters - Parameters.
|
|
22
|
-
* @returns The submitted
|
|
35
|
+
* @returns The submitted transfer receipt and chain ID.
|
|
23
36
|
*/
|
|
24
|
-
export async function
|
|
37
|
+
export async function transfer(client, parameters) {
|
|
25
38
|
return client.request({
|
|
26
|
-
method: '
|
|
39
|
+
method: 'wallet_transfer',
|
|
27
40
|
params: [parameters],
|
|
28
41
|
}, { retryCount: 0 });
|
|
29
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../tempo/actions/wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../tempo/actions/wallet.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAgC,EAChC,UAA+B;IAE/B,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC;AA6ED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,MAAgC,EAChC,aAA8B,EAAE;IAEhC,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC;AA2BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAgC,EAChC,aAAiC,EAAE;IAEnC,OAAO,MAAM,CAAC,OAAO,CAKnB;QACE,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,CAAC,UAAU,CAAC;KACrB,EACD,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAA;AACH,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "2.49.
|
|
1
|
+
export declare const version = "2.49.2";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Formatters.d.ts","sourceRoot":"","sources":["../../tempo/Formatters.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,GAC1B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAkCtC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,GAC7B,kBAAkB,CAEpB;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,kBAAkB,EACrB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,qBAAqB,
|
|
1
|
+
{"version":3,"file":"Formatters.d.ts","sourceRoot":"","sources":["../../tempo/Formatters.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,cAAc,GAC1B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAkCtC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,qBAAqB,GAC7B,kBAAkB,CAEpB;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE,kBAAkB,EACrB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,qBAAqB,CA0FvB"}
|
|
@@ -3,10 +3,17 @@ import type { Client } from '../../clients/createClient.js';
|
|
|
3
3
|
import type { Transport } from '../../clients/transports/createTransport.js';
|
|
4
4
|
import type { ErrorType as CoreErrorType } from '../../errors/utils.js';
|
|
5
5
|
import type { Chain } from '../../types/chain.js';
|
|
6
|
+
import type { OneOf } from '../../types/utils.js';
|
|
6
7
|
import type { RequestErrorType } from '../../utils/buildRequest.js';
|
|
7
8
|
import type { TransactionReceipt } from '../Transaction.js';
|
|
8
9
|
/**
|
|
9
|
-
*
|
|
10
|
+
* Transfers a TIP-20 token. Discriminated on `editable`:
|
|
11
|
+
*
|
|
12
|
+
* - omitted or `false` (default): read-only. Uses an access key when
|
|
13
|
+
* one matches (signs without showing the wallet UI), otherwise falls
|
|
14
|
+
* back to a confirm dialog the user has to approve.
|
|
15
|
+
* - `true`: editable. Opens the wallet send UI with the supplied fields
|
|
16
|
+
* pre-filled for the user to confirm or edit before signing.
|
|
10
17
|
*
|
|
11
18
|
* @example
|
|
12
19
|
* ```ts
|
|
@@ -17,30 +24,66 @@ import type { TransactionReceipt } from '../Transaction.js';
|
|
|
17
24
|
* transport: custom(window.ethereum),
|
|
18
25
|
* })
|
|
19
26
|
*
|
|
20
|
-
*
|
|
27
|
+
* // Read-only (no UI when an access key matches)
|
|
28
|
+
* const { receipt } = await Actions.wallet.transfer(client, {
|
|
21
29
|
* amount: '1.5',
|
|
22
30
|
* to: '0x...',
|
|
23
31
|
* token: '0x...',
|
|
24
32
|
* })
|
|
33
|
+
*
|
|
34
|
+
* // Editable (opens wallet UI)
|
|
35
|
+
* await Actions.wallet.transfer(client, {
|
|
36
|
+
* editable: true,
|
|
37
|
+
* token: 'pathUSD',
|
|
38
|
+
* })
|
|
25
39
|
* ```
|
|
26
40
|
*
|
|
27
41
|
* @param client - Client.
|
|
28
42
|
* @param parameters - Parameters.
|
|
29
|
-
* @returns The submitted
|
|
43
|
+
* @returns The submitted transfer receipt and chain ID.
|
|
30
44
|
*/
|
|
31
|
-
export declare function
|
|
32
|
-
export declare namespace
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
45
|
+
export declare function transfer<chain extends Chain | undefined>(client: Client<Transport, chain>, parameters: transfer.Parameters): Promise<transfer.ReturnValue>;
|
|
46
|
+
export declare namespace transfer {
|
|
47
|
+
/**
|
|
48
|
+
* Read-only variant — uses an access key when one matches, otherwise
|
|
49
|
+
* shows a confirm dialog.
|
|
50
|
+
*/
|
|
51
|
+
type ReadOnly = {
|
|
52
|
+
/** Human-readable amount to transfer (for example, `"1.5"`). */
|
|
53
|
+
amount: string;
|
|
36
54
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
55
|
+
* Skip the editable wallet UI. The wallet still shows a confirm
|
|
56
|
+
* dialog when no matching access key is available.
|
|
57
|
+
* @default false
|
|
39
58
|
*/
|
|
40
|
-
|
|
59
|
+
editable?: false | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Address to transfer tokens from. Defaults to the active account. When
|
|
62
|
+
* set to a different address, the call uses `transferFrom` and requires
|
|
63
|
+
* the active account to have an allowance from `from`.
|
|
64
|
+
*/
|
|
65
|
+
from?: Address | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* UTF-8 memo (max 32 bytes) to attach to the transfer.
|
|
68
|
+
*/
|
|
69
|
+
memo?: string | undefined;
|
|
70
|
+
/** Recipient address. */
|
|
71
|
+
to: Address;
|
|
41
72
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
73
|
+
* Token to transfer, accepted as either a contract address or a curated
|
|
74
|
+
* tokenlist symbol (case-insensitive, for example `"pathUsd"`). Symbols
|
|
75
|
+
* are resolved against the curated tokenlist on the active chain.
|
|
76
|
+
*/
|
|
77
|
+
token: Address | string;
|
|
78
|
+
};
|
|
79
|
+
/** Editable variant — opens the wallet send UI with optional pre-filled fields. */
|
|
80
|
+
type Editable = {
|
|
81
|
+
/** Human-readable amount to pre-fill (for example, `"1.5"`). */
|
|
82
|
+
amount?: string | undefined;
|
|
83
|
+
/** Show the wallet UI for the user to confirm or edit. */
|
|
84
|
+
editable: true;
|
|
85
|
+
/**
|
|
86
|
+
* UTF-8 memo (max 32 bytes) to attach to the transfer.
|
|
44
87
|
*/
|
|
45
88
|
memo?: string | undefined;
|
|
46
89
|
/** Recipient address to pre-fill. */
|
|
@@ -53,10 +96,19 @@ export declare namespace send {
|
|
|
53
96
|
*/
|
|
54
97
|
token?: Address | string | undefined;
|
|
55
98
|
};
|
|
99
|
+
type Parameters = {
|
|
100
|
+
/** Chain id. Defaults to the active chain. */
|
|
101
|
+
chainId?: number | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Fee payer override. `false` to disable the wallet's default fee payer,
|
|
104
|
+
* a URL string to use a custom fee payer service.
|
|
105
|
+
*/
|
|
106
|
+
feePayer?: boolean | string | undefined;
|
|
107
|
+
} & OneOf<ReadOnly | Editable>;
|
|
56
108
|
type ReturnValue = {
|
|
57
|
-
/** Chain ID the
|
|
109
|
+
/** Chain ID the transfer was submitted to. */
|
|
58
110
|
chainId: number;
|
|
59
|
-
/** Receipt of the submitted
|
|
111
|
+
/** Receipt of the submitted transfer. */
|
|
60
112
|
receipt: TransactionReceipt;
|
|
61
113
|
};
|
|
62
114
|
type ErrorType = RequestErrorType | CoreErrorType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../tempo/actions/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC5E,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3D
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../tempo/actions/wallet.ts"],"names":[],"mappings":"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"}
|
package/errors/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '2.49.
|
|
1
|
+
export const version = '2.49.2'
|
package/package.json
CHANGED
package/tempo/Formatters.ts
CHANGED
|
@@ -122,12 +122,15 @@ export function formatTransactionRequest(
|
|
|
122
122
|
const [keyType, keyData] = (() => {
|
|
123
123
|
const type =
|
|
124
124
|
account && 'keyType' in account ? account.keyType : account?.source
|
|
125
|
-
if (!type) return [request.keyType, request.keyData]
|
|
125
|
+
if (!type) return [request.keyType, shimKeyData(request.keyData)]
|
|
126
126
|
if (type === 'webAuthn')
|
|
127
|
-
//
|
|
128
|
-
|
|
127
|
+
// Send a 2-byte big-endian length hint (1400 = 0x0578) instead of a
|
|
128
|
+
// 1400-byte dummy blob. The node's gas estimator expects key_data to
|
|
129
|
+
// be 1, 2, or 4 bytes encoding the desired WebAuthn signature size;
|
|
130
|
+
// anything else falls back to the 800-byte default.
|
|
131
|
+
return ['webAuthn', '0x0578']
|
|
129
132
|
if (['p256', 'secp256k1'].includes(type)) return [type, undefined]
|
|
130
|
-
return [request.keyType, request.keyData]
|
|
133
|
+
return [request.keyType, shimKeyData(request.keyData)]
|
|
131
134
|
})()
|
|
132
135
|
|
|
133
136
|
const keyId =
|
|
@@ -157,3 +160,16 @@ export function formatTransactionRequest(
|
|
|
157
160
|
: {}),
|
|
158
161
|
} as never
|
|
159
162
|
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Auto-shim user-provided keyData that is longer than 4 bytes into a
|
|
166
|
+
* 2-byte big-endian length hint. The node gas estimator only accepts
|
|
167
|
+
* 1, 2, or 4-byte key_data as a size hint; anything else silently falls
|
|
168
|
+
* back to the 800-byte default.
|
|
169
|
+
*/
|
|
170
|
+
function shimKeyData(data: Hex.Hex | undefined): Hex.Hex | undefined {
|
|
171
|
+
if (!data) return data
|
|
172
|
+
const byteLength = (data.length - 2) / 2 // subtract "0x" prefix
|
|
173
|
+
if (byteLength <= 4) return data
|
|
174
|
+
return Hex.fromNumber(byteLength, { size: 2 })
|
|
175
|
+
}
|
package/tempo/actions/wallet.ts
CHANGED
|
@@ -3,11 +3,18 @@ import type { Client } from '../../clients/createClient.js'
|
|
|
3
3
|
import type { Transport } from '../../clients/transports/createTransport.js'
|
|
4
4
|
import type { ErrorType as CoreErrorType } from '../../errors/utils.js'
|
|
5
5
|
import type { Chain } from '../../types/chain.js'
|
|
6
|
+
import type { OneOf } from '../../types/utils.js'
|
|
6
7
|
import type { RequestErrorType } from '../../utils/buildRequest.js'
|
|
7
8
|
import type { TransactionReceipt } from '../Transaction.js'
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* Transfers a TIP-20 token. Discriminated on `editable`:
|
|
12
|
+
*
|
|
13
|
+
* - omitted or `false` (default): read-only. Uses an access key when
|
|
14
|
+
* one matches (signs without showing the wallet UI), otherwise falls
|
|
15
|
+
* back to a confirm dialog the user has to approve.
|
|
16
|
+
* - `true`: editable. Opens the wallet send UI with the supplied fields
|
|
17
|
+
* pre-filled for the user to confirm or edit before signing.
|
|
11
18
|
*
|
|
12
19
|
* @example
|
|
13
20
|
* ```ts
|
|
@@ -18,46 +25,83 @@ import type { TransactionReceipt } from '../Transaction.js'
|
|
|
18
25
|
* transport: custom(window.ethereum),
|
|
19
26
|
* })
|
|
20
27
|
*
|
|
21
|
-
*
|
|
28
|
+
* // Read-only (no UI when an access key matches)
|
|
29
|
+
* const { receipt } = await Actions.wallet.transfer(client, {
|
|
22
30
|
* amount: '1.5',
|
|
23
31
|
* to: '0x...',
|
|
24
32
|
* token: '0x...',
|
|
25
33
|
* })
|
|
34
|
+
*
|
|
35
|
+
* // Editable (opens wallet UI)
|
|
36
|
+
* await Actions.wallet.transfer(client, {
|
|
37
|
+
* editable: true,
|
|
38
|
+
* token: 'pathUSD',
|
|
39
|
+
* })
|
|
26
40
|
* ```
|
|
27
41
|
*
|
|
28
42
|
* @param client - Client.
|
|
29
43
|
* @param parameters - Parameters.
|
|
30
|
-
* @returns The submitted
|
|
44
|
+
* @returns The submitted transfer receipt and chain ID.
|
|
31
45
|
*/
|
|
32
|
-
export async function
|
|
46
|
+
export async function transfer<chain extends Chain | undefined>(
|
|
33
47
|
client: Client<Transport, chain>,
|
|
34
|
-
parameters:
|
|
35
|
-
): Promise<
|
|
48
|
+
parameters: transfer.Parameters,
|
|
49
|
+
): Promise<transfer.ReturnValue> {
|
|
36
50
|
return client.request<{
|
|
37
|
-
Method: '
|
|
38
|
-
Parameters: [
|
|
39
|
-
ReturnType:
|
|
51
|
+
Method: 'wallet_transfer'
|
|
52
|
+
Parameters: [transfer.Parameters]
|
|
53
|
+
ReturnType: transfer.ReturnValue
|
|
40
54
|
}>(
|
|
41
55
|
{
|
|
42
|
-
method: '
|
|
56
|
+
method: 'wallet_transfer',
|
|
43
57
|
params: [parameters],
|
|
44
58
|
},
|
|
45
59
|
{ retryCount: 0 },
|
|
46
60
|
)
|
|
47
61
|
}
|
|
48
62
|
|
|
49
|
-
export declare namespace
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
63
|
+
export declare namespace transfer {
|
|
64
|
+
/**
|
|
65
|
+
* Read-only variant — uses an access key when one matches, otherwise
|
|
66
|
+
* shows a confirm dialog.
|
|
67
|
+
*/
|
|
68
|
+
type ReadOnly = {
|
|
69
|
+
/** Human-readable amount to transfer (for example, `"1.5"`). */
|
|
70
|
+
amount: string
|
|
53
71
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
72
|
+
* Skip the editable wallet UI. The wallet still shows a confirm
|
|
73
|
+
* dialog when no matching access key is available.
|
|
74
|
+
* @default false
|
|
56
75
|
*/
|
|
57
|
-
|
|
76
|
+
editable?: false | undefined
|
|
77
|
+
/**
|
|
78
|
+
* Address to transfer tokens from. Defaults to the active account. When
|
|
79
|
+
* set to a different address, the call uses `transferFrom` and requires
|
|
80
|
+
* the active account to have an allowance from `from`.
|
|
81
|
+
*/
|
|
82
|
+
from?: Address | undefined
|
|
83
|
+
/**
|
|
84
|
+
* UTF-8 memo (max 32 bytes) to attach to the transfer.
|
|
85
|
+
*/
|
|
86
|
+
memo?: string | undefined
|
|
87
|
+
/** Recipient address. */
|
|
88
|
+
to: Address
|
|
58
89
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
90
|
+
* Token to transfer, accepted as either a contract address or a curated
|
|
91
|
+
* tokenlist symbol (case-insensitive, for example `"pathUsd"`). Symbols
|
|
92
|
+
* are resolved against the curated tokenlist on the active chain.
|
|
93
|
+
*/
|
|
94
|
+
token: Address | string
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Editable variant — opens the wallet send UI with optional pre-filled fields. */
|
|
98
|
+
type Editable = {
|
|
99
|
+
/** Human-readable amount to pre-fill (for example, `"1.5"`). */
|
|
100
|
+
amount?: string | undefined
|
|
101
|
+
/** Show the wallet UI for the user to confirm or edit. */
|
|
102
|
+
editable: true
|
|
103
|
+
/**
|
|
104
|
+
* UTF-8 memo (max 32 bytes) to attach to the transfer.
|
|
61
105
|
*/
|
|
62
106
|
memo?: string | undefined
|
|
63
107
|
/** Recipient address to pre-fill. */
|
|
@@ -71,10 +115,20 @@ export declare namespace send {
|
|
|
71
115
|
token?: Address | string | undefined
|
|
72
116
|
}
|
|
73
117
|
|
|
118
|
+
export type Parameters = {
|
|
119
|
+
/** Chain id. Defaults to the active chain. */
|
|
120
|
+
chainId?: number | undefined
|
|
121
|
+
/**
|
|
122
|
+
* Fee payer override. `false` to disable the wallet's default fee payer,
|
|
123
|
+
* a URL string to use a custom fee payer service.
|
|
124
|
+
*/
|
|
125
|
+
feePayer?: boolean | string | undefined
|
|
126
|
+
} & OneOf<ReadOnly | Editable>
|
|
127
|
+
|
|
74
128
|
export type ReturnValue = {
|
|
75
|
-
/** Chain ID the
|
|
129
|
+
/** Chain ID the transfer was submitted to. */
|
|
76
130
|
chainId: number
|
|
77
|
-
/** Receipt of the submitted
|
|
131
|
+
/** Receipt of the submitted transfer. */
|
|
78
132
|
receipt: TransactionReceipt
|
|
79
133
|
}
|
|
80
134
|
|