tempo.ts 0.8.3 → 0.9.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 +19 -0
- package/dist/ox/KeyAuthorization.d.ts +3 -3
- package/dist/ox/KeyAuthorization.js +2 -2
- package/dist/ox/Transaction.d.ts +8 -8
- package/dist/ox/Transaction.d.ts.map +1 -1
- package/dist/ox/Transaction.js +3 -3
- package/dist/ox/Transaction.js.map +1 -1
- package/dist/ox/{TransactionEnvelopeAA.d.ts → TransactionEnvelopeTempo.d.ts} +70 -70
- package/dist/ox/TransactionEnvelopeTempo.d.ts.map +1 -0
- package/dist/ox/{TransactionEnvelopeAA.js → TransactionEnvelopeTempo.js} +57 -57
- package/dist/ox/TransactionEnvelopeTempo.js.map +1 -0
- package/dist/ox/TransactionReceipt.d.ts +3 -3
- package/dist/ox/TransactionReceipt.d.ts.map +1 -1
- package/dist/ox/TransactionReceipt.js +2 -2
- package/dist/ox/TransactionReceipt.js.map +1 -1
- package/dist/ox/TransactionRequest.d.ts +1 -1
- package/dist/ox/TransactionRequest.d.ts.map +1 -1
- package/dist/ox/TransactionRequest.js +2 -2
- package/dist/ox/TransactionRequest.js.map +1 -1
- package/dist/ox/index.d.ts +1 -1
- package/dist/ox/index.d.ts.map +1 -1
- package/dist/ox/index.js +1 -1
- package/dist/ox/index.js.map +1 -1
- package/dist/viem/Chain.d.ts +3 -3
- package/dist/viem/Formatters.js +4 -4
- package/dist/viem/Formatters.js.map +1 -1
- package/dist/viem/Transaction.d.ts +17 -17
- package/dist/viem/Transaction.d.ts.map +1 -1
- package/dist/viem/Transaction.js +16 -16
- package/dist/viem/Transaction.js.map +1 -1
- package/dist/viem/internal/types.d.ts +2 -2
- package/dist/viem/internal/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ox/KeyAuthorization.ts +3 -3
- package/src/ox/Transaction.test.ts +6 -6
- package/src/ox/Transaction.ts +11 -11
- package/src/ox/{TransactionEnvelopeAA.test.ts → TransactionEnvelopeTempo.test.ts} +154 -139
- package/src/ox/{TransactionEnvelopeAA.ts → TransactionEnvelopeTempo.ts} +78 -76
- package/src/ox/TransactionReceipt.ts +3 -3
- package/src/ox/TransactionRequest.ts +3 -3
- package/src/ox/e2e.test.ts +79 -70
- package/src/ox/index.ts +1 -1
- package/src/viem/Formatters.ts +6 -6
- package/src/viem/Transaction.ts +43 -40
- package/src/viem/e2e.test.ts +14 -14
- package/src/viem/internal/types.ts +2 -2
- package/dist/ox/TransactionEnvelopeAA.d.ts.map +0 -1
- package/dist/ox/TransactionEnvelopeAA.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# tempo.ts
|
|
2
2
|
|
|
3
|
+
## 0.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#105](https://github.com/tempoxyz/tempo-ts/pull/105) [`c6a57d8`](https://github.com/tempoxyz/tempo-ts/commit/c6a57d82f2c736596553857190edbe675181dfec) Thanks [@jxom](https://github.com/jxom)! - **Breaking:** Renamed all "AA" references to "Tempo".
|
|
8
|
+
|
|
9
|
+
### `tempo.ts/ox`
|
|
10
|
+
- `TransactionEnvelopeAA` → `TransactionEnvelopeTempo`
|
|
11
|
+
- `Transaction.AA` → `Transaction.Tempo`
|
|
12
|
+
- `Transaction.AARpc` → `Transaction.TempoRpc`
|
|
13
|
+
- `type: 'aa'` → `type: 'tempo'`
|
|
14
|
+
|
|
15
|
+
### `tempo.ts/viem`
|
|
16
|
+
- `TransactionAA` → `TransactionTempo`
|
|
17
|
+
- `TransactionRequestAA` → `TransactionRequestTempo`
|
|
18
|
+
- `TransactionSerializableAA` → `TransactionSerializableTempo`
|
|
19
|
+
- `TransactionSerializedAA` → `TransactionSerializedTempo`
|
|
20
|
+
- `type: 'aa'` → `type: 'tempo'`
|
|
21
|
+
|
|
3
22
|
## 0.8.3
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
|
@@ -8,7 +8,7 @@ import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
|
8
8
|
/**
|
|
9
9
|
* Key authorization for provisioning access keys.
|
|
10
10
|
*
|
|
11
|
-
* Used in
|
|
11
|
+
* Used in TransactionEnvelopeTempo to add a new key to the keychain precompile.
|
|
12
12
|
* The transaction must be signed by the root key to authorize adding this access key.
|
|
13
13
|
*/
|
|
14
14
|
export type KeyAuthorization<signed extends boolean = boolean, bigintType = bigint, numberType = number> = {
|
|
@@ -344,8 +344,8 @@ export declare namespace toRpc {
|
|
|
344
344
|
* // @log: ]
|
|
345
345
|
* ```
|
|
346
346
|
*
|
|
347
|
-
* @param authorization - The {@link ox#
|
|
348
|
-
* @returns
|
|
347
|
+
* @param authorization - The {@link ox#KeyAuthorization.KeyAuthorization}.
|
|
348
|
+
* @returns A Tempo Key Authorization tuple.
|
|
349
349
|
*/
|
|
350
350
|
export declare function toTuple<const authorization extends KeyAuthorization>(authorization: authorization): toTuple.ReturnType<authorization>;
|
|
351
351
|
export declare namespace toTuple {
|
|
@@ -327,8 +327,8 @@ export function toRpc(authorization) {
|
|
|
327
327
|
* // @log: ]
|
|
328
328
|
* ```
|
|
329
329
|
*
|
|
330
|
-
* @param authorization - The {@link ox#
|
|
331
|
-
* @returns
|
|
330
|
+
* @param authorization - The {@link ox#KeyAuthorization.KeyAuthorization}.
|
|
331
|
+
* @returns A Tempo Key Authorization tuple.
|
|
332
332
|
*/
|
|
333
333
|
export function toTuple(authorization) {
|
|
334
334
|
const { address, chainId = 0n, expiry, limits } = authorization;
|
package/dist/ox/Transaction.d.ts
CHANGED
|
@@ -7,19 +7,19 @@ import * as ox_Transaction from 'ox/Transaction';
|
|
|
7
7
|
import type { Compute, OneOf, UnionCompute } from '../internal/types.js';
|
|
8
8
|
import * as KeyAuthorization from './KeyAuthorization.js';
|
|
9
9
|
import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
10
|
-
import type { Call } from './
|
|
10
|
+
import type { Call } from './TransactionEnvelopeTempo.js';
|
|
11
11
|
/**
|
|
12
12
|
* A Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
|
|
13
13
|
*/
|
|
14
|
-
export type Transaction<pending extends boolean = false, bigintType = bigint, numberType = number> = UnionCompute<OneOf<
|
|
14
|
+
export type Transaction<pending extends boolean = false, bigintType = bigint, numberType = number> = UnionCompute<OneOf<Tempo<pending, bigintType, numberType> | ox_Transaction.Transaction<pending, bigintType, numberType>>>;
|
|
15
15
|
/**
|
|
16
16
|
* An RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
|
|
17
17
|
*/
|
|
18
|
-
export type Rpc<pending extends boolean = false> = UnionCompute<OneOf<
|
|
18
|
+
export type Rpc<pending extends boolean = false> = UnionCompute<OneOf<TempoRpc<pending> | ox_Transaction.Rpc<pending>>>;
|
|
19
19
|
/**
|
|
20
20
|
* Native account abstraction transaction.
|
|
21
21
|
*/
|
|
22
|
-
export type
|
|
22
|
+
export type Tempo<pending extends boolean = false, bigintType = bigint, numberType = number, type extends string = 'tempo'> = Compute<Omit<ox_Transaction.Base<type, pending, bigintType, numberType>, 'input' | 'to' | 'value' | 'v' | 'r' | 's' | 'yParity'> & {
|
|
23
23
|
/** EIP-2930 Access List. */
|
|
24
24
|
accessList: AccessList.AccessList;
|
|
25
25
|
/** EIP-7702 Authorization list for the transaction. */
|
|
@@ -59,7 +59,7 @@ export type AA<pending extends boolean = false, bigintType = bigint, numberType
|
|
|
59
59
|
/**
|
|
60
60
|
* Native account abstraction transaction in RPC format.
|
|
61
61
|
*/
|
|
62
|
-
export type
|
|
62
|
+
export type TempoRpc<pending extends boolean = false> = Compute<Omit<Tempo<pending, Hex.Hex, Hex.Hex, ToRpcType['tempo']>, 'calls' | 'keyAuthorization' | 'signature'> & {
|
|
63
63
|
calls: readonly {
|
|
64
64
|
input?: Hex.Hex | undefined;
|
|
65
65
|
to?: Hex.Hex | undefined;
|
|
@@ -70,7 +70,7 @@ export type AARpc<pending extends boolean = false> = Compute<Omit<AA<pending, He
|
|
|
70
70
|
}>;
|
|
71
71
|
/** Type to RPC Type mapping. */
|
|
72
72
|
export declare const toRpcType: {
|
|
73
|
-
readonly
|
|
73
|
+
readonly tempo: "0x76";
|
|
74
74
|
readonly legacy: "0x0";
|
|
75
75
|
readonly eip2930: "0x1";
|
|
76
76
|
readonly eip1559: "0x2";
|
|
@@ -83,7 +83,7 @@ export type ToRpcType = typeof toRpcType & {
|
|
|
83
83
|
};
|
|
84
84
|
/** RPC Type to Type mapping. */
|
|
85
85
|
export declare const fromRpcType: {
|
|
86
|
-
readonly '0x76': "
|
|
86
|
+
readonly '0x76': "tempo";
|
|
87
87
|
readonly '0x0': "legacy";
|
|
88
88
|
readonly '0x1': "eip2930";
|
|
89
89
|
readonly '0x2': "eip1559";
|
|
@@ -183,7 +183,7 @@ export declare namespace fromRpc {
|
|
|
183
183
|
* type: 'secp256k1',
|
|
184
184
|
* },
|
|
185
185
|
* transactionIndex: 2,
|
|
186
|
-
* type: '
|
|
186
|
+
* type: 'tempo',
|
|
187
187
|
* })
|
|
188
188
|
* ```
|
|
189
189
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/ox/Transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,UAAU,MAAM,eAAe,CAAA;AAChD,OAAO,KAAK,KAAK,OAAO,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,MAAM,WAAW,CAAA;AACxC,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAE7B,OAAO,KAAK,cAAc,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/ox/Transaction.ts"],"names":[],"mappings":"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"}
|
package/dist/ox/Transaction.js
CHANGED
|
@@ -6,12 +6,12 @@ import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
|
6
6
|
/** Type to RPC Type mapping. */
|
|
7
7
|
export const toRpcType = {
|
|
8
8
|
...ox_Transaction.toRpcType,
|
|
9
|
-
|
|
9
|
+
tempo: '0x76',
|
|
10
10
|
};
|
|
11
11
|
/** RPC Type to Type mapping. */
|
|
12
12
|
export const fromRpcType = {
|
|
13
13
|
...ox_Transaction.fromRpcType,
|
|
14
|
-
'0x76': '
|
|
14
|
+
'0x76': 'tempo',
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
* Converts an {@link ox#Transaction.Rpc} to an {@link ox#Transaction.Transaction}.
|
|
@@ -125,7 +125,7 @@ export function fromRpc(transaction, _options = {}) {
|
|
|
125
125
|
* type: 'secp256k1',
|
|
126
126
|
* },
|
|
127
127
|
* transactionIndex: 2,
|
|
128
|
-
* type: '
|
|
128
|
+
* type: 'tempo',
|
|
129
129
|
* })
|
|
130
130
|
* ```
|
|
131
131
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/ox/Transaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,cAAc,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAsG3D,gCAAgC;AAChC,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,GAAG,cAAc,CAAC,SAAS;IAC3B,
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/ox/Transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import * as KeyAuthorization from './KeyAuthorization.js';
|
|
|
12
12
|
import * as SignatureEnvelope from './SignatureEnvelope.js';
|
|
13
13
|
import * as TokenId from './TokenId.js';
|
|
14
14
|
/**
|
|
15
|
-
* Represents a single call within
|
|
15
|
+
* Represents a single call within a Tempo transaction.
|
|
16
16
|
*/
|
|
17
17
|
export type Call<bigintType = bigint> = {
|
|
18
18
|
/** Call data. */
|
|
@@ -22,7 +22,7 @@ export type Call<bigintType = bigint> = {
|
|
|
22
22
|
/** Value to send (in wei). */
|
|
23
23
|
value?: bigintType | undefined;
|
|
24
24
|
};
|
|
25
|
-
export type
|
|
25
|
+
export type TransactionEnvelopeTempo<signed extends boolean = boolean, bigintType = bigint, numberType = number, type extends string = Type> = Compute<{
|
|
26
26
|
/** EIP-2930 Access List. */
|
|
27
27
|
accessList?: AccessList.AccessList | undefined;
|
|
28
28
|
/** EIP-7702 Authorization list for the transaction. */
|
|
@@ -66,23 +66,23 @@ export type TransactionEnvelopeAA<signed extends boolean = boolean, bigintType =
|
|
|
66
66
|
} : {
|
|
67
67
|
signature?: SignatureEnvelope.SignatureEnvelope<bigintType, numberType> | undefined;
|
|
68
68
|
})>;
|
|
69
|
-
export type Rpc<signed extends boolean = boolean> =
|
|
69
|
+
export type Rpc<signed extends boolean = boolean> = TransactionEnvelopeTempo<signed, Hex.Hex, Hex.Hex, '0x76'>;
|
|
70
70
|
export declare const feePayerMagic: "0x78";
|
|
71
71
|
export type FeePayerMagic = typeof feePayerMagic;
|
|
72
72
|
export type Serialized = `${SerializedType}${string}`;
|
|
73
|
-
export type Signed =
|
|
73
|
+
export type Signed = TransactionEnvelopeTempo<true>;
|
|
74
74
|
export declare const serializedType: "0x76";
|
|
75
75
|
export type SerializedType = typeof serializedType;
|
|
76
|
-
export declare const type: "
|
|
76
|
+
export declare const type: "tempo";
|
|
77
77
|
export type Type = typeof type;
|
|
78
78
|
/**
|
|
79
|
-
* Asserts a {@link ox#
|
|
79
|
+
* Asserts a {@link ox#TransactionEnvelopeTempo.TransactionEnvelopeTempo} is valid.
|
|
80
80
|
*
|
|
81
81
|
* @example
|
|
82
82
|
* ```ts twoslash
|
|
83
|
-
* import {
|
|
83
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
84
84
|
*
|
|
85
|
-
*
|
|
85
|
+
* TransactionEnvelopeTempo.assert({
|
|
86
86
|
* calls: [{ to: '0x0000000000000000000000000000000000000000', value: 0n }],
|
|
87
87
|
* chainId: 1,
|
|
88
88
|
* maxFeePerGas: 1000000000n,
|
|
@@ -91,20 +91,20 @@ export type Type = typeof type;
|
|
|
91
91
|
*
|
|
92
92
|
* @param envelope - The transaction envelope to assert.
|
|
93
93
|
*/
|
|
94
|
-
export declare function assert(envelope: PartialBy<
|
|
94
|
+
export declare function assert(envelope: PartialBy<TransactionEnvelopeTempo, 'type'>): void;
|
|
95
95
|
export declare namespace assert {
|
|
96
96
|
type ErrorType = Address.assert.ErrorType | CallsEmptyError | InvalidValidityWindowError | Errors.GlobalErrorType;
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
|
-
* Deserializes a {@link ox#
|
|
99
|
+
* Deserializes a {@link ox#TransactionEnvelopeTempo.TransactionEnvelopeTempo} from its serialized form.
|
|
100
100
|
*
|
|
101
101
|
* @example
|
|
102
102
|
* ```ts twoslash
|
|
103
|
-
* import {
|
|
103
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
104
104
|
*
|
|
105
|
-
* const envelope =
|
|
105
|
+
* const envelope = TransactionEnvelopeTempo.deserialize('0x76f84a0182031184773594008477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c0808080')
|
|
106
106
|
* // @log: {
|
|
107
|
-
* // @log: type: '
|
|
107
|
+
* // @log: type: 'tempo',
|
|
108
108
|
* // @log: nonce: 785n,
|
|
109
109
|
* // @log: maxFeePerGas: 2000000000n,
|
|
110
110
|
* // @log: gas: 1000000n,
|
|
@@ -115,19 +115,19 @@ export declare namespace assert {
|
|
|
115
115
|
* @param serialized - The serialized transaction.
|
|
116
116
|
* @returns Deserialized Transaction Envelope.
|
|
117
117
|
*/
|
|
118
|
-
export declare function deserialize(serialized: Serialized): Compute<
|
|
118
|
+
export declare function deserialize(serialized: Serialized): Compute<TransactionEnvelopeTempo>;
|
|
119
119
|
export declare namespace deserialize {
|
|
120
120
|
type ErrorType = Errors.GlobalErrorType;
|
|
121
121
|
}
|
|
122
122
|
/**
|
|
123
|
-
* Converts an arbitrary transaction object into
|
|
123
|
+
* Converts an arbitrary transaction object into a Tempo Transaction Envelope.
|
|
124
124
|
*
|
|
125
125
|
* @example
|
|
126
126
|
* ```ts twoslash
|
|
127
127
|
* import { Value } from 'ox'
|
|
128
|
-
* import {
|
|
128
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
129
129
|
*
|
|
130
|
-
* const envelope =
|
|
130
|
+
* const envelope = TransactionEnvelopeTempo.from({ // [!code focus]
|
|
131
131
|
* chainId: 1, // [!code focus]
|
|
132
132
|
* calls: [{ to: '0x0000000000000000000000000000000000000000', value: Value.fromEther('1') }], // [!code focus]
|
|
133
133
|
* maxFeePerGas: Value.fromGwei('10'), // [!code focus]
|
|
@@ -143,9 +143,9 @@ export declare namespace deserialize {
|
|
|
143
143
|
* ```ts twoslash
|
|
144
144
|
* // @noErrors
|
|
145
145
|
* import { Secp256k1, Value } from 'ox'
|
|
146
|
-
* import {
|
|
146
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
147
147
|
*
|
|
148
|
-
* const envelope =
|
|
148
|
+
* const envelope = TransactionEnvelopeTempo.from({
|
|
149
149
|
* chainId: 1,
|
|
150
150
|
* calls: [{ to: '0x0000000000000000000000000000000000000000', value: Value.fromEther('1') }],
|
|
151
151
|
* maxFeePerGas: Value.fromGwei('10'),
|
|
@@ -153,11 +153,11 @@ export declare namespace deserialize {
|
|
|
153
153
|
* })
|
|
154
154
|
*
|
|
155
155
|
* const signature = Secp256k1.sign({
|
|
156
|
-
* payload:
|
|
156
|
+
* payload: TransactionEnvelopeTempo.getSignPayload(envelope),
|
|
157
157
|
* privateKey: '0x...',
|
|
158
158
|
* })
|
|
159
159
|
*
|
|
160
|
-
* const envelope_signed =
|
|
160
|
+
* const envelope_signed = TransactionEnvelopeTempo.from(envelope, { // [!code focus]
|
|
161
161
|
* signature, // [!code focus]
|
|
162
162
|
* }) // [!code focus]
|
|
163
163
|
* // @log: {
|
|
@@ -165,7 +165,7 @@ export declare namespace deserialize {
|
|
|
165
165
|
* // @log: calls: [{ to: '0x0000000000000000000000000000000000000000', value: 1000000000000000000n }],
|
|
166
166
|
* // @log: maxFeePerGas: 10000000000n,
|
|
167
167
|
* // @log: maxPriorityFeePerGas: 1000000000n,
|
|
168
|
-
* // @log: type: '
|
|
168
|
+
* // @log: type: 'tempo',
|
|
169
169
|
* // @log: r: 125...n,
|
|
170
170
|
* // @log: s: 642...n,
|
|
171
171
|
* // @log: yParity: 0,
|
|
@@ -175,53 +175,53 @@ export declare namespace deserialize {
|
|
|
175
175
|
* @example
|
|
176
176
|
* ### From Serialized
|
|
177
177
|
*
|
|
178
|
-
* It is possible to instantiate
|
|
178
|
+
* It is possible to instantiate a Tempo Transaction Envelope from a {@link ox#TransactionEnvelopeTempo.Serialized} value.
|
|
179
179
|
*
|
|
180
180
|
* ```ts twoslash
|
|
181
|
-
* import {
|
|
181
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
182
182
|
*
|
|
183
|
-
* const envelope =
|
|
183
|
+
* const envelope = TransactionEnvelopeTempo.from('0x76f84a0182031184773594008477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c0808080')
|
|
184
184
|
* // @log: {
|
|
185
185
|
* // @log: chainId: 1,
|
|
186
186
|
* // @log: calls: [{ to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', value: 1000000000000000000n }],
|
|
187
187
|
* // @log: maxFeePerGas: 10000000000n,
|
|
188
|
-
* // @log: type: '
|
|
188
|
+
* // @log: type: 'tempo',
|
|
189
189
|
* // @log: }
|
|
190
190
|
* ```
|
|
191
191
|
*
|
|
192
192
|
* @param envelope - The transaction object to convert.
|
|
193
193
|
* @param options - Options.
|
|
194
|
-
* @returns
|
|
194
|
+
* @returns A Tempo Transaction Envelope.
|
|
195
195
|
*/
|
|
196
|
-
export declare function from<const envelope extends UnionPartialBy<
|
|
196
|
+
export declare function from<const envelope extends UnionPartialBy<TransactionEnvelopeTempo, 'type'> | Serialized, const signature extends SignatureEnvelope.SignatureEnvelope | undefined = undefined>(envelope: envelope | UnionPartialBy<TransactionEnvelopeTempo, 'type'> | Serialized, options?: from.Options<signature>): from.ReturnValue<envelope, signature>;
|
|
197
197
|
export declare namespace from {
|
|
198
198
|
type Options<signature extends SignatureEnvelope.SignatureEnvelope | undefined = undefined> = {
|
|
199
199
|
feePayerSignature?: Signature.Signature | null | undefined;
|
|
200
200
|
signature?: signature | SignatureEnvelope.SignatureEnvelope | undefined;
|
|
201
201
|
};
|
|
202
|
-
type ReturnValue<envelope extends UnionPartialBy<
|
|
202
|
+
type ReturnValue<envelope extends UnionPartialBy<TransactionEnvelopeTempo, 'type'> | Hex.Hex = TransactionEnvelopeTempo | Hex.Hex, signature extends SignatureEnvelope.SignatureEnvelope | undefined = undefined> = Compute<envelope extends Hex.Hex ? TransactionEnvelopeTempo : Assign<envelope, (signature extends SignatureEnvelope.SignatureEnvelope ? {
|
|
203
203
|
signature: SignatureEnvelope.from.ReturnValue<signature>;
|
|
204
204
|
} : {}) & {
|
|
205
|
-
readonly type: '
|
|
205
|
+
readonly type: 'tempo';
|
|
206
206
|
}>>;
|
|
207
207
|
type ErrorType = deserialize.ErrorType | assert.ErrorType | Errors.GlobalErrorType;
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
|
-
* Serializes a {@link ox#
|
|
210
|
+
* Serializes a {@link ox#TransactionEnvelopeTempo.TransactionEnvelopeTempo}.
|
|
211
211
|
*
|
|
212
212
|
* @example
|
|
213
213
|
* ```ts twoslash
|
|
214
214
|
* // @noErrors
|
|
215
215
|
* import { Value } from 'ox'
|
|
216
|
-
* import {
|
|
216
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
217
217
|
*
|
|
218
|
-
* const envelope =
|
|
218
|
+
* const envelope = TransactionEnvelopeTempo.from({
|
|
219
219
|
* chainId: 1,
|
|
220
220
|
* calls: [{ to: '0x0000000000000000000000000000000000000000', value: Value.fromEther('1') }],
|
|
221
221
|
* maxFeePerGas: Value.fromGwei('10'),
|
|
222
222
|
* })
|
|
223
223
|
*
|
|
224
|
-
* const serialized =
|
|
224
|
+
* const serialized = TransactionEnvelopeTempo.serialize(envelope) // [!code focus]
|
|
225
225
|
* ```
|
|
226
226
|
*
|
|
227
227
|
* @example
|
|
@@ -232,20 +232,20 @@ export declare namespace from {
|
|
|
232
232
|
* ```ts twoslash
|
|
233
233
|
* // @noErrors
|
|
234
234
|
* import { Secp256k1, Value } from 'ox'
|
|
235
|
-
* import {
|
|
235
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
236
236
|
*
|
|
237
|
-
* const envelope =
|
|
237
|
+
* const envelope = TransactionEnvelopeTempo.from({
|
|
238
238
|
* chainId: 1,
|
|
239
239
|
* calls: [{ to: '0x0000000000000000000000000000000000000000', value: Value.fromEther('1') }],
|
|
240
240
|
* maxFeePerGas: Value.fromGwei('10'),
|
|
241
241
|
* })
|
|
242
242
|
*
|
|
243
243
|
* const signature = Secp256k1.sign({
|
|
244
|
-
* payload:
|
|
244
|
+
* payload: TransactionEnvelopeTempo.getSignPayload(envelope),
|
|
245
245
|
* privateKey: '0x...',
|
|
246
246
|
* })
|
|
247
247
|
*
|
|
248
|
-
* const serialized =
|
|
248
|
+
* const serialized = TransactionEnvelopeTempo.serialize(envelope, { // [!code focus]
|
|
249
249
|
* signature, // [!code focus]
|
|
250
250
|
* }) // [!code focus]
|
|
251
251
|
*
|
|
@@ -256,7 +256,7 @@ export declare namespace from {
|
|
|
256
256
|
* @param options - Options.
|
|
257
257
|
* @returns The serialized Transaction Envelope.
|
|
258
258
|
*/
|
|
259
|
-
export declare function serialize(envelope: PartialBy<
|
|
259
|
+
export declare function serialize(envelope: PartialBy<TransactionEnvelopeTempo, 'type'>, options?: serialize.Options): Serialized;
|
|
260
260
|
export declare namespace serialize {
|
|
261
261
|
type Options = {
|
|
262
262
|
/**
|
|
@@ -288,7 +288,7 @@ export declare namespace serialize {
|
|
|
288
288
|
type ErrorType = assert.ErrorType | Hex.fromNumber.ErrorType | Signature.toTuple.ErrorType | Hex.concat.ErrorType | Rlp.fromHex.ErrorType | Errors.GlobalErrorType;
|
|
289
289
|
}
|
|
290
290
|
/**
|
|
291
|
-
* Returns the payload to sign for a {@link ox#
|
|
291
|
+
* Returns the payload to sign for a {@link ox#TransactionEnvelopeTempo.TransactionEnvelopeTempo}.
|
|
292
292
|
*
|
|
293
293
|
* @example
|
|
294
294
|
* The example below demonstrates how to compute the sign payload which can be used
|
|
@@ -297,9 +297,9 @@ export declare namespace serialize {
|
|
|
297
297
|
* ```ts twoslash
|
|
298
298
|
* // @noErrors
|
|
299
299
|
* import { Secp256k1 } from 'ox'
|
|
300
|
-
* import {
|
|
300
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
301
301
|
*
|
|
302
|
-
* const envelope =
|
|
302
|
+
* const envelope = TransactionEnvelopeTempo.from({
|
|
303
303
|
* chainId: 1,
|
|
304
304
|
* calls: [{ to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', value: 1000000000000000000n }],
|
|
305
305
|
* nonce: 0n,
|
|
@@ -307,7 +307,7 @@ export declare namespace serialize {
|
|
|
307
307
|
* gas: 21000n,
|
|
308
308
|
* })
|
|
309
309
|
*
|
|
310
|
-
* const payload =
|
|
310
|
+
* const payload = TransactionEnvelopeTempo.getSignPayload(envelope) // [!code focus]
|
|
311
311
|
* // @log: '0x...'
|
|
312
312
|
*
|
|
313
313
|
* const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
|
|
@@ -316,21 +316,21 @@ export declare namespace serialize {
|
|
|
316
316
|
* @param envelope - The transaction envelope to get the sign payload for.
|
|
317
317
|
* @returns The sign payload.
|
|
318
318
|
*/
|
|
319
|
-
export declare function getSignPayload(envelope:
|
|
319
|
+
export declare function getSignPayload(envelope: TransactionEnvelopeTempo): getSignPayload.ReturnValue;
|
|
320
320
|
export declare namespace getSignPayload {
|
|
321
321
|
type ReturnValue = Hex.Hex;
|
|
322
322
|
type ErrorType = hash.ErrorType | Errors.GlobalErrorType;
|
|
323
323
|
}
|
|
324
324
|
/**
|
|
325
|
-
* Hashes a {@link ox#
|
|
325
|
+
* Hashes a {@link ox#TransactionEnvelopeTempo.TransactionEnvelopeTempo}. This is the "transaction hash".
|
|
326
326
|
*
|
|
327
327
|
* @example
|
|
328
328
|
* ```ts twoslash
|
|
329
329
|
* // @noErrors
|
|
330
330
|
* import { Secp256k1 } from 'ox'
|
|
331
|
-
* import {
|
|
331
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
332
332
|
*
|
|
333
|
-
* const envelope =
|
|
333
|
+
* const envelope = TransactionEnvelopeTempo.from({
|
|
334
334
|
* chainId: 1,
|
|
335
335
|
* calls: [{ to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', value: 1000000000000000000n }],
|
|
336
336
|
* nonce: 0n,
|
|
@@ -339,20 +339,20 @@ export declare namespace getSignPayload {
|
|
|
339
339
|
* })
|
|
340
340
|
*
|
|
341
341
|
* const signature = Secp256k1.sign({
|
|
342
|
-
* payload:
|
|
342
|
+
* payload: TransactionEnvelopeTempo.getSignPayload(envelope),
|
|
343
343
|
* privateKey: '0x...'
|
|
344
344
|
* })
|
|
345
345
|
*
|
|
346
|
-
* const envelope_signed =
|
|
346
|
+
* const envelope_signed = TransactionEnvelopeTempo.from(envelope, { signature })
|
|
347
347
|
*
|
|
348
|
-
* const hash =
|
|
348
|
+
* const hash = TransactionEnvelopeTempo.hash(envelope_signed) // [!code focus]
|
|
349
349
|
* ```
|
|
350
350
|
*
|
|
351
|
-
* @param envelope - The
|
|
351
|
+
* @param envelope - The Tempo Transaction Envelope to hash.
|
|
352
352
|
* @param options - Options.
|
|
353
353
|
* @returns The hash of the transaction envelope.
|
|
354
354
|
*/
|
|
355
|
-
export declare function hash<presign extends boolean = false>(envelope:
|
|
355
|
+
export declare function hash<presign extends boolean = false>(envelope: TransactionEnvelopeTempo<presign extends true ? false : true>, options?: hash.Options<presign>): hash.ReturnValue;
|
|
356
356
|
export declare namespace hash {
|
|
357
357
|
type Options<presign extends boolean = false> = {
|
|
358
358
|
/**
|
|
@@ -366,15 +366,15 @@ export declare namespace hash {
|
|
|
366
366
|
type ErrorType = Hash.keccak256.ErrorType | serialize.ErrorType | Errors.GlobalErrorType;
|
|
367
367
|
}
|
|
368
368
|
/**
|
|
369
|
-
* Returns the fee payer payload to sign for a {@link ox#
|
|
369
|
+
* Returns the fee payer payload to sign for a {@link ox#TransactionEnvelopeTempo.TransactionEnvelopeTempo}.
|
|
370
370
|
*
|
|
371
371
|
* @example
|
|
372
372
|
* ```ts twoslash
|
|
373
373
|
* // @noErrors
|
|
374
374
|
* import { Secp256k1 } from 'ox'
|
|
375
|
-
* import {
|
|
375
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
376
376
|
*
|
|
377
|
-
* const envelope =
|
|
377
|
+
* const envelope = TransactionEnvelopeTempo.from({
|
|
378
378
|
* chainId: 1,
|
|
379
379
|
* calls: [{ to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', value: 1000000000000000000n }],
|
|
380
380
|
* nonce: 0n,
|
|
@@ -382,7 +382,7 @@ export declare namespace hash {
|
|
|
382
382
|
* gas: 21000n,
|
|
383
383
|
* })
|
|
384
384
|
*
|
|
385
|
-
* const payload =
|
|
385
|
+
* const payload = TransactionEnvelopeTempo.getFeePayerSignPayload(envelope, {
|
|
386
386
|
* sender: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
|
|
387
387
|
* }) // [!code focus]
|
|
388
388
|
* // @log: '0x...'
|
|
@@ -394,7 +394,7 @@ export declare namespace hash {
|
|
|
394
394
|
* @param options - Options.
|
|
395
395
|
* @returns The fee payer sign payload.
|
|
396
396
|
*/
|
|
397
|
-
export declare function getFeePayerSignPayload(envelope:
|
|
397
|
+
export declare function getFeePayerSignPayload(envelope: TransactionEnvelopeTempo, options: getFeePayerSignPayload.Options): getFeePayerSignPayload.ReturnValue;
|
|
398
398
|
export declare namespace getFeePayerSignPayload {
|
|
399
399
|
type Options = {
|
|
400
400
|
/**
|
|
@@ -406,13 +406,13 @@ export declare namespace getFeePayerSignPayload {
|
|
|
406
406
|
type ErrorType = hash.ErrorType | Errors.GlobalErrorType;
|
|
407
407
|
}
|
|
408
408
|
/**
|
|
409
|
-
* Validates a {@link ox#
|
|
409
|
+
* Validates a {@link ox#TransactionEnvelopeTempo.TransactionEnvelopeTempo}. Returns `true` if the envelope is valid, `false` otherwise.
|
|
410
410
|
*
|
|
411
411
|
* @example
|
|
412
412
|
* ```ts twoslash
|
|
413
|
-
* import {
|
|
413
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
414
414
|
*
|
|
415
|
-
* const valid =
|
|
415
|
+
* const valid = TransactionEnvelopeTempo.validate({
|
|
416
416
|
* calls: [{ to: '0x0000000000000000000000000000000000000000', value: 0n }],
|
|
417
417
|
* chainId: 1,
|
|
418
418
|
* maxFeePerGas: 1000000000n,
|
|
@@ -422,7 +422,7 @@ export declare namespace getFeePayerSignPayload {
|
|
|
422
422
|
*
|
|
423
423
|
* @param envelope - The transaction envelope to validate.
|
|
424
424
|
*/
|
|
425
|
-
export declare function validate(envelope: PartialBy<
|
|
425
|
+
export declare function validate(envelope: PartialBy<TransactionEnvelopeTempo, 'type'>): boolean;
|
|
426
426
|
export declare namespace validate {
|
|
427
427
|
type ErrorType = Errors.GlobalErrorType;
|
|
428
428
|
}
|
|
@@ -431,17 +431,17 @@ export declare namespace validate {
|
|
|
431
431
|
*
|
|
432
432
|
* @example
|
|
433
433
|
* ```ts twoslash
|
|
434
|
-
* import {
|
|
434
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
435
435
|
*
|
|
436
|
-
*
|
|
436
|
+
* TransactionEnvelopeTempo.assert({
|
|
437
437
|
* calls: [],
|
|
438
438
|
* chainId: 1,
|
|
439
439
|
* })
|
|
440
|
-
* // @error:
|
|
440
|
+
* // @error: TransactionEnvelopeTempo.CallsEmptyError: Calls list cannot be empty.
|
|
441
441
|
* ```
|
|
442
442
|
*/
|
|
443
443
|
export declare class CallsEmptyError extends Errors.BaseError {
|
|
444
|
-
readonly name = "
|
|
444
|
+
readonly name = "TransactionEnvelopeTempo.CallsEmptyError";
|
|
445
445
|
constructor();
|
|
446
446
|
}
|
|
447
447
|
/**
|
|
@@ -449,22 +449,22 @@ export declare class CallsEmptyError extends Errors.BaseError {
|
|
|
449
449
|
*
|
|
450
450
|
* @example
|
|
451
451
|
* ```ts twoslash
|
|
452
|
-
* import {
|
|
452
|
+
* import { TransactionEnvelopeTempo } from 'ox/tempo'
|
|
453
453
|
*
|
|
454
|
-
*
|
|
454
|
+
* TransactionEnvelopeTempo.assert({
|
|
455
455
|
* calls: [{ to: '0x0000000000000000000000000000000000000000' }],
|
|
456
456
|
* chainId: 1,
|
|
457
457
|
* validBefore: 100n,
|
|
458
458
|
* validAfter: 200n,
|
|
459
459
|
* })
|
|
460
|
-
* // @error:
|
|
460
|
+
* // @error: TransactionEnvelopeTempo.InvalidValidityWindowError: validBefore (100) must be greater than validAfter (200).
|
|
461
461
|
* ```
|
|
462
462
|
*/
|
|
463
463
|
export declare class InvalidValidityWindowError extends Errors.BaseError {
|
|
464
|
-
readonly name = "
|
|
464
|
+
readonly name = "TransactionEnvelopeTempo.InvalidValidityWindowError";
|
|
465
465
|
constructor({ validBefore, validAfter, }: {
|
|
466
466
|
validBefore: number;
|
|
467
467
|
validAfter: number;
|
|
468
468
|
});
|
|
469
469
|
}
|
|
470
|
-
//# sourceMappingURL=
|
|
470
|
+
//# sourceMappingURL=TransactionEnvelopeTempo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionEnvelopeTempo.d.ts","sourceRoot":"","sources":["../../src/ox/TransactionEnvelopeTempo.ts"],"names":[],"mappings":"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"}
|