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
|
@@ -3,17 +3,17 @@ import { type AccessList, type Account, type Address, type AuthorizationList, ty
|
|
|
3
3
|
import type { ExactPartial, OneOf, PartialBy } from '../internal/types.js';
|
|
4
4
|
import type * as KeyAuthorization from '../ox/KeyAuthorization.js';
|
|
5
5
|
import * as SignatureEnvelope from '../ox/SignatureEnvelope.js';
|
|
6
|
-
import * as
|
|
6
|
+
import * as TxTempo from '../ox/TransactionEnvelopeTempo.js';
|
|
7
7
|
import type * as ox_TransactionReceipt from '../ox/TransactionReceipt.js';
|
|
8
|
-
export type Transaction<bigintType = bigint, numberType = number, pending extends boolean = false> = OneOf<viem_Transaction<bigintType, numberType, pending> |
|
|
9
|
-
export type TransactionRpc<pending extends boolean = false> = OneOf<viem_RpcTransaction<pending> | (Omit<
|
|
8
|
+
export type Transaction<bigintType = bigint, numberType = number, pending extends boolean = false> = OneOf<viem_Transaction<bigintType, numberType, pending> | TransactionTempo<bigintType, numberType, pending>>;
|
|
9
|
+
export type TransactionRpc<pending extends boolean = false> = OneOf<viem_RpcTransaction<pending> | (Omit<TransactionTempo<Hex.Hex, Hex.Hex, pending, '0x76'>, 'keyAuthorization' | 'signature'> & {
|
|
10
10
|
keyAuthorization?: KeyAuthorization.Rpc | null | undefined;
|
|
11
11
|
signature: SignatureEnvelope.SignatureEnvelopeRpc;
|
|
12
12
|
})>;
|
|
13
|
-
export type
|
|
13
|
+
export type TransactionTempo<quantity = bigint, index = number, isPending extends boolean = boolean, type = 'tempo'> = PartialBy<Omit<TransactionBase<quantity, index, isPending>, 'data' | 'input' | 'value' | 'to'>, 'r' | 's' | 'v' | 'yParity'> & {
|
|
14
14
|
accessList: AccessList;
|
|
15
15
|
authorizationList?: SignedAuthorizationList | undefined;
|
|
16
|
-
calls: readonly
|
|
16
|
+
calls: readonly TxTempo.Call<quantity>[];
|
|
17
17
|
chainId: index;
|
|
18
18
|
feeToken?: Address | undefined;
|
|
19
19
|
feePayerSignature?: viem_Signature | undefined;
|
|
@@ -24,29 +24,29 @@ export type TransactionAA<quantity = bigint, index = number, isPending extends b
|
|
|
24
24
|
validBefore?: index | undefined;
|
|
25
25
|
validAfter?: index | undefined;
|
|
26
26
|
} & FeeValuesEIP1559<quantity>;
|
|
27
|
-
export type TransactionRequest<bigintType = bigint, numberType = number> = OneOf<viem_TransactionRequest<bigintType, numberType> |
|
|
28
|
-
export type TransactionRequestRpc = OneOf<viem_RpcTransactionRequest |
|
|
27
|
+
export type TransactionRequest<bigintType = bigint, numberType = number> = OneOf<viem_TransactionRequest<bigintType, numberType> | TransactionRequestTempo<bigintType, numberType>>;
|
|
28
|
+
export type TransactionRequestRpc = OneOf<viem_RpcTransactionRequest | TransactionRequestTempo<Hex.Hex, Hex.Hex, '0x76'>>;
|
|
29
29
|
export type TransactionReceipt<quantity = bigint, index = number, status = 'success' | 'reverted', type = TransactionType> = viem_TransactionReceipt<quantity, index, status, type> & {
|
|
30
30
|
feePayer?: Address | undefined;
|
|
31
31
|
feeToken?: Address | undefined;
|
|
32
32
|
};
|
|
33
33
|
export type TransactionReceiptRpc = TransactionReceipt<Hex.Hex, Hex.Hex, ox_TransactionReceipt.RpcStatus, ox_TransactionReceipt.RpcType>;
|
|
34
|
-
export type
|
|
34
|
+
export type TransactionRequestTempo<quantity = bigint, index = number, type = 'tempo'> = TransactionRequestBase<quantity, index, type> & ExactPartial<FeeValuesEIP1559<quantity>> & {
|
|
35
35
|
accessList?: AccessList | undefined;
|
|
36
36
|
authorizationList?: AuthorizationList<index, boolean> | undefined;
|
|
37
37
|
keyAuthorization?: KeyAuthorization.Signed<quantity, index> | undefined;
|
|
38
|
-
calls?: readonly
|
|
38
|
+
calls?: readonly TxTempo.Call<quantity>[] | undefined;
|
|
39
39
|
feePayer?: Account | true | undefined;
|
|
40
40
|
feeToken?: Address | bigint | undefined;
|
|
41
41
|
nonceKey?: 'random' | quantity | undefined;
|
|
42
42
|
validBefore?: index | undefined;
|
|
43
43
|
validAfter?: index | undefined;
|
|
44
44
|
};
|
|
45
|
-
export type TransactionSerializable = OneOf<viem_TransactionSerializable |
|
|
46
|
-
export type
|
|
45
|
+
export type TransactionSerializable = OneOf<viem_TransactionSerializable | TransactionSerializableTempo>;
|
|
46
|
+
export type TransactionSerializableTempo<quantity = bigint, index = number> = TransactionSerializableBase<quantity, index> & ExactPartial<FeeValuesEIP1559<quantity>> & {
|
|
47
47
|
accessList?: AccessList | undefined;
|
|
48
48
|
authorizationList?: SignedAuthorizationList | undefined;
|
|
49
|
-
calls: readonly
|
|
49
|
+
calls: readonly TxTempo.Call<quantity>[];
|
|
50
50
|
chainId: number;
|
|
51
51
|
feeToken?: Address | bigint | undefined;
|
|
52
52
|
feePayerSignature?: viem_Signature | null | undefined;
|
|
@@ -55,16 +55,16 @@ export type TransactionSerializableAA<quantity = bigint, index = number> = Trans
|
|
|
55
55
|
signature?: SignatureEnvelope.SignatureEnvelope<quantity, index> | undefined;
|
|
56
56
|
validBefore?: index | undefined;
|
|
57
57
|
validAfter?: index | undefined;
|
|
58
|
-
type?: '
|
|
58
|
+
type?: 'tempo' | undefined;
|
|
59
59
|
};
|
|
60
|
-
export type TransactionSerialized<type extends TransactionType = TransactionType> = viem_TransactionSerialized<type> |
|
|
61
|
-
export type
|
|
62
|
-
export type TransactionType = viem_TransactionType | '
|
|
60
|
+
export type TransactionSerialized<type extends TransactionType = TransactionType> = viem_TransactionSerialized<type> | TransactionSerializedTempo;
|
|
61
|
+
export type TransactionSerializedTempo = `0x76${string}`;
|
|
62
|
+
export type TransactionType = viem_TransactionType | 'tempo';
|
|
63
63
|
export declare function getType(transaction: Record<string, unknown>): Transaction['type'];
|
|
64
64
|
export declare function isTempo(transaction: Record<string, unknown>): boolean;
|
|
65
65
|
export declare function deserialize<const serialized extends TransactionSerializedGeneric>(serializedTransaction: serialized): deserialize.ReturnValue<serialized>;
|
|
66
66
|
export declare namespace deserialize {
|
|
67
|
-
type ReturnValue<serialized extends TransactionSerializedGeneric = TransactionSerializedGeneric> = serialized extends
|
|
67
|
+
type ReturnValue<serialized extends TransactionSerializedGeneric = TransactionSerializedGeneric> = serialized extends TransactionSerializedTempo ? TransactionSerializableTempo : ParseTransactionReturnType<serialized>;
|
|
68
68
|
}
|
|
69
69
|
export declare function serialize(transaction: TransactionSerializable & {
|
|
70
70
|
feePayer?: Account | true | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/viem/Transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAG7B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EAGjC,KAAK,cAAc,IAAI,mBAAmB,EAC1C,KAAK,qBAAqB,IAAI,0BAA0B,EACxD,KAAK,SAAS,IAAI,cAAc,EAEhC,KAAK,WAAW,IAAI,gBAAgB,EACpC,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,kBAAkB,IAAI,uBAAuB,EAClD,KAAK,uBAAuB,IAAI,4BAA4B,EAC5D,KAAK,qBAAqB,IAAI,0BAA0B,EACxD,KAAK,eAAe,IAAI,oBAAoB,EAC7C,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,KAAK,gBAAgB,MAAM,2BAA2B,CAAA;AAClE,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../src/viem/Transaction.ts"],"names":[],"mappings":"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"}
|
package/dist/viem/Transaction.js
CHANGED
|
@@ -4,7 +4,7 @@ import * as Secp256k1 from 'ox/Secp256k1';
|
|
|
4
4
|
import * as Signature from 'ox/Signature';
|
|
5
5
|
import { getTransactionType as viem_getTransactionType, parseTransaction as viem_parseTransaction, serializeTransaction as viem_serializeTransaction, } from 'viem';
|
|
6
6
|
import * as SignatureEnvelope from '../ox/SignatureEnvelope.js';
|
|
7
|
-
import * as
|
|
7
|
+
import * as TxTempo from '../ox/TransactionEnvelopeTempo.js';
|
|
8
8
|
export function getType(transaction) {
|
|
9
9
|
if (typeof transaction.calls !== 'undefined' ||
|
|
10
10
|
typeof transaction.feePayer !== 'undefined' ||
|
|
@@ -13,7 +13,7 @@ export function getType(transaction) {
|
|
|
13
13
|
typeof transaction.signature !== 'undefined' ||
|
|
14
14
|
typeof transaction.validBefore !== 'undefined' ||
|
|
15
15
|
typeof transaction.validAfter !== 'undefined')
|
|
16
|
-
return '
|
|
16
|
+
return 'tempo';
|
|
17
17
|
if (transaction.type)
|
|
18
18
|
return transaction.type;
|
|
19
19
|
return viem_getTransactionType(transaction);
|
|
@@ -21,7 +21,7 @@ export function getType(transaction) {
|
|
|
21
21
|
export function isTempo(transaction) {
|
|
22
22
|
try {
|
|
23
23
|
const type = getType(transaction);
|
|
24
|
-
return type === '
|
|
24
|
+
return type === 'tempo';
|
|
25
25
|
}
|
|
26
26
|
catch {
|
|
27
27
|
return false;
|
|
@@ -34,7 +34,7 @@ export function deserialize(serializedTransaction) {
|
|
|
34
34
|
? Hex.slice(serializedTransaction, -26, -6)
|
|
35
35
|
: undefined;
|
|
36
36
|
return {
|
|
37
|
-
...
|
|
37
|
+
...deserializeTempo(serializedTransaction),
|
|
38
38
|
from,
|
|
39
39
|
};
|
|
40
40
|
}
|
|
@@ -58,15 +58,15 @@ export async function serialize(transaction, signature) {
|
|
|
58
58
|
return viem_serializeTransaction(transaction, signature);
|
|
59
59
|
}
|
|
60
60
|
const type = getType(transaction);
|
|
61
|
-
if (type === '
|
|
62
|
-
return
|
|
61
|
+
if (type === 'tempo')
|
|
62
|
+
return serializeTempo(transaction, signature);
|
|
63
63
|
throw new Error('Unsupported transaction type');
|
|
64
64
|
}
|
|
65
65
|
////////////////////////////////////////////////////////////////////////////////////
|
|
66
66
|
// Internal
|
|
67
67
|
/** @internal */
|
|
68
|
-
function
|
|
69
|
-
const { authorizationList, feePayerSignature, nonce, ...tx } =
|
|
68
|
+
function deserializeTempo(serializedTransaction) {
|
|
69
|
+
const { authorizationList, feePayerSignature, nonce, ...tx } = TxTempo.deserialize(serializedTransaction);
|
|
70
70
|
return {
|
|
71
71
|
...tx,
|
|
72
72
|
authorizationList: authorizationList?.map((auth) => ({
|
|
@@ -86,7 +86,7 @@ function deserializeAA(serializedTransaction) {
|
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
/** @internal */
|
|
89
|
-
async function
|
|
89
|
+
async function serializeTempo(transaction, sig) {
|
|
90
90
|
const signature = (() => {
|
|
91
91
|
if (transaction.signature)
|
|
92
92
|
return transaction.signature;
|
|
@@ -129,11 +129,11 @@ async function serializeAA(transaction, sig) {
|
|
|
129
129
|
: feePayer
|
|
130
130
|
? null
|
|
131
131
|
: undefined,
|
|
132
|
-
type: '
|
|
132
|
+
type: 'tempo',
|
|
133
133
|
...(nonce ? { nonce: BigInt(nonce) } : {}),
|
|
134
134
|
};
|
|
135
135
|
if (signature && typeof transaction.feePayer === 'object') {
|
|
136
|
-
const tx =
|
|
136
|
+
const tx = TxTempo.from(transaction_ox, {
|
|
137
137
|
signature,
|
|
138
138
|
});
|
|
139
139
|
const sender = (() => {
|
|
@@ -141,23 +141,23 @@ async function serializeAA(transaction, sig) {
|
|
|
141
141
|
return transaction.from;
|
|
142
142
|
if (signature.type === 'secp256k1')
|
|
143
143
|
return Secp256k1.recoverAddress({
|
|
144
|
-
payload:
|
|
144
|
+
payload: TxTempo.getSignPayload(tx),
|
|
145
145
|
signature: signature.signature,
|
|
146
146
|
});
|
|
147
147
|
throw new Error('Unable to extract sender from transaction or signature.');
|
|
148
148
|
})();
|
|
149
|
-
const hash =
|
|
149
|
+
const hash = TxTempo.getFeePayerSignPayload(tx, {
|
|
150
150
|
sender,
|
|
151
151
|
});
|
|
152
152
|
const feePayerSignature = await transaction.feePayer.sign({
|
|
153
153
|
hash,
|
|
154
154
|
});
|
|
155
|
-
return
|
|
155
|
+
return TxTempo.serialize(tx, {
|
|
156
156
|
feePayerSignature: Signature.from(feePayerSignature),
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
159
|
if (feePayer === true) {
|
|
160
|
-
const serialized =
|
|
160
|
+
const serialized = TxTempo.serialize(transaction_ox, {
|
|
161
161
|
feePayerSignature: null,
|
|
162
162
|
signature,
|
|
163
163
|
});
|
|
@@ -168,7 +168,7 @@ async function serializeAA(transaction, sig) {
|
|
|
168
168
|
return Hex.concat(serialized, transaction.from, '0xfeefeefeefee');
|
|
169
169
|
return serialized;
|
|
170
170
|
}
|
|
171
|
-
return
|
|
171
|
+
return TxTempo.serialize(
|
|
172
172
|
// If we have specified a fee payer, the user will not be signing over the fee token.
|
|
173
173
|
// Defer the fee token signing to the fee payer.
|
|
174
174
|
{ ...transaction_ox, ...(feePayer ? { feeToken: undefined } : {}) }, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/viem/Transaction.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAE7F,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AACzC,OAAO,EAYL,kBAAkB,IAAI,uBAAuB,EAC7C,gBAAgB,IAAI,qBAAqB,EAIzC,oBAAoB,IAAI,yBAAyB,GAOlD,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../src/viem/Transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Account, Address, Chain, ReadContractParameters as viem_ReadContractParameters, WriteContractSyncParameters as viem_WriteContractSyncParameters } from 'viem';
|
|
2
2
|
import type { IsUndefined, MaybeRequired, UnionPick } from '../../internal/types.js';
|
|
3
3
|
import type * as TokenId from '../../ox/TokenId.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { TransactionRequestTempo } from '../Transaction.js';
|
|
5
5
|
export type GetAccountParameter<account extends Account | undefined = Account | undefined, accountOverride extends Account | Address | undefined = Account | Address, required extends boolean = true, nullish extends boolean = false> = MaybeRequired<{
|
|
6
6
|
account?: accountOverride | Account | Address | (nullish extends true ? null : never) | undefined;
|
|
7
7
|
}, IsUndefined<account> extends true ? required extends true ? true : false : false>;
|
|
@@ -16,5 +16,5 @@ export type GetFeeTokenParameter<chain extends Chain | undefined = Chain | undef
|
|
|
16
16
|
};
|
|
17
17
|
export type ReadParameters = Pick<viem_ReadContractParameters<never, never, never>, 'account' | 'blockNumber' | 'blockOverrides' | 'blockTag' | 'stateOverride'>;
|
|
18
18
|
export type TokenIdOrAddress = bigint | Address;
|
|
19
|
-
export type WriteParameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = UnionPick<viem_WriteContractSyncParameters<never, never, never, chain, account>, 'account' | 'chain' | 'gas' | 'maxFeePerGas' | 'maxPriorityFeePerGas' | 'nonce' | 'throwOnReceiptRevert'> & GetFeeTokenParameter<chain> & UnionPick<
|
|
19
|
+
export type WriteParameters<chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined> = UnionPick<viem_WriteContractSyncParameters<never, never, never, chain, account>, 'account' | 'chain' | 'gas' | 'maxFeePerGas' | 'maxPriorityFeePerGas' | 'nonce' | 'throwOnReceiptRevert'> & GetFeeTokenParameter<chain> & UnionPick<TransactionRequestTempo, 'feePayer'>;
|
|
20
20
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/viem/internal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,sBAAsB,IAAI,2BAA2B,EACrD,2BAA2B,IAAI,gCAAgC,EAChE,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACV,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,KAAK,OAAO,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/viem/internal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,sBAAsB,IAAI,2BAA2B,EACrD,2BAA2B,IAAI,gCAAgC,EAChE,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,SAAS,EACV,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,KAAK,OAAO,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,MAAM,MAAM,mBAAmB,CAC7B,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EACzD,eAAe,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,EACzE,QAAQ,SAAS,OAAO,GAAG,IAAI,EAC/B,OAAO,SAAS,OAAO,GAAG,KAAK,IAC7B,aAAa,CACf;IACE,OAAO,CAAC,EACJ,eAAe,GACf,OAAO,GACP,OAAO,GACP,CAAC,OAAO,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,GACrC,SAAS,CAAA;CACd,EACD,WAAW,CAAC,OAAO,CAAC,SAAS,IAAI,GAC7B,QAAQ,SAAS,IAAI,GACnB,IAAI,GACJ,KAAK,GACP,KAAK,CACV,CAAA;AAED,MAAM,MAAM,oBAAoB,CAC9B,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IACjD,KAAK,SAAS;IAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;CAAE,GAC1C,WAAW,CAAC,QAAQ,CAAC,SAAS,IAAI,GAChC;IAAE,QAAQ,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAA;CAAE,GAC7C;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAC5D;IAAE,QAAQ,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAA;CAAE,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,2BAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAChD,SAAS,GAAG,aAAa,GAAG,gBAAgB,GAAG,UAAU,GAAG,eAAe,CAC5E,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAA;AAE/C,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACvD,SAAS,CACX,gCAAgC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EACnE,SAAS,GACT,OAAO,GACP,KAAK,GACL,cAAc,GACd,sBAAsB,GACtB,OAAO,GACP,sBAAsB,CACzB,GACC,oBAAoB,CAAC,KAAK,CAAC,GAC3B,SAAS,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ const defaultExpiry = 0xffffffffffff
|
|
|
11
11
|
/**
|
|
12
12
|
* Key authorization for provisioning access keys.
|
|
13
13
|
*
|
|
14
|
-
* Used in
|
|
14
|
+
* Used in TransactionEnvelopeTempo to add a new key to the keychain precompile.
|
|
15
15
|
* The transaction must be signed by the root key to authorize adding this access key.
|
|
16
16
|
*/
|
|
17
17
|
export type KeyAuthorization<
|
|
@@ -501,8 +501,8 @@ export declare namespace toRpc {
|
|
|
501
501
|
* // @log: ]
|
|
502
502
|
* ```
|
|
503
503
|
*
|
|
504
|
-
* @param authorization - The {@link ox#
|
|
505
|
-
* @returns
|
|
504
|
+
* @param authorization - The {@link ox#KeyAuthorization.KeyAuthorization}.
|
|
505
|
+
* @returns A Tempo Key Authorization tuple.
|
|
506
506
|
*/
|
|
507
507
|
export function toTuple<const authorization extends KeyAuthorization>(
|
|
508
508
|
authorization: authorization,
|
|
@@ -65,7 +65,7 @@ describe('fromRpc', () => {
|
|
|
65
65
|
"type": "secp256k1",
|
|
66
66
|
},
|
|
67
67
|
"transactionIndex": 2,
|
|
68
|
-
"type": "
|
|
68
|
+
"type": "tempo",
|
|
69
69
|
"value": 0n,
|
|
70
70
|
}
|
|
71
71
|
`)
|
|
@@ -147,7 +147,7 @@ describe('fromRpc', () => {
|
|
|
147
147
|
"type": "secp256k1",
|
|
148
148
|
},
|
|
149
149
|
"transactionIndex": 2,
|
|
150
|
-
"type": "
|
|
150
|
+
"type": "tempo",
|
|
151
151
|
"value": 0n,
|
|
152
152
|
}
|
|
153
153
|
`)
|
|
@@ -254,7 +254,7 @@ describe('fromRpc', () => {
|
|
|
254
254
|
"type": "secp256k1",
|
|
255
255
|
},
|
|
256
256
|
"transactionIndex": 2,
|
|
257
|
-
"type": "
|
|
257
|
+
"type": "tempo",
|
|
258
258
|
"value": 0n,
|
|
259
259
|
}
|
|
260
260
|
`)
|
|
@@ -294,7 +294,7 @@ describe('toRpc', () => {
|
|
|
294
294
|
type: 'secp256k1',
|
|
295
295
|
},
|
|
296
296
|
transactionIndex: 2,
|
|
297
|
-
type: '
|
|
297
|
+
type: 'tempo',
|
|
298
298
|
})
|
|
299
299
|
expect(transaction).toMatchInlineSnapshot(`
|
|
300
300
|
{
|
|
@@ -370,7 +370,7 @@ describe('toRpc', () => {
|
|
|
370
370
|
type: 'secp256k1',
|
|
371
371
|
},
|
|
372
372
|
transactionIndex: 2,
|
|
373
|
-
type: '
|
|
373
|
+
type: 'tempo',
|
|
374
374
|
})
|
|
375
375
|
expect(transaction).toMatchInlineSnapshot(`
|
|
376
376
|
{
|
|
@@ -465,7 +465,7 @@ describe('toRpc', () => {
|
|
|
465
465
|
type: 'secp256k1',
|
|
466
466
|
},
|
|
467
467
|
transactionIndex: 2,
|
|
468
|
-
type: '
|
|
468
|
+
type: 'tempo',
|
|
469
469
|
})
|
|
470
470
|
expect(transaction).toMatchInlineSnapshot(`
|
|
471
471
|
{
|
package/src/ox/Transaction.ts
CHANGED
|
@@ -8,7 +8,7 @@ import * as ox_Transaction from 'ox/Transaction'
|
|
|
8
8
|
import type { Compute, OneOf, UnionCompute } from '../internal/types.js'
|
|
9
9
|
import * as KeyAuthorization from './KeyAuthorization.js'
|
|
10
10
|
import * as SignatureEnvelope from './SignatureEnvelope.js'
|
|
11
|
-
import type { Call } from './
|
|
11
|
+
import type { Call } from './TransactionEnvelopeTempo.js'
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* A Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
|
|
@@ -19,7 +19,7 @@ export type Transaction<
|
|
|
19
19
|
numberType = number,
|
|
20
20
|
> = UnionCompute<
|
|
21
21
|
OneOf<
|
|
22
|
-
|
|
|
22
|
+
| Tempo<pending, bigintType, numberType>
|
|
23
23
|
| ox_Transaction.Transaction<pending, bigintType, numberType>
|
|
24
24
|
>
|
|
25
25
|
>
|
|
@@ -28,21 +28,21 @@ export type Transaction<
|
|
|
28
28
|
* An RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
|
|
29
29
|
*/
|
|
30
30
|
export type Rpc<pending extends boolean = false> = UnionCompute<
|
|
31
|
-
OneOf<
|
|
31
|
+
OneOf<TempoRpc<pending> | ox_Transaction.Rpc<pending>>
|
|
32
32
|
>
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* Native account abstraction transaction.
|
|
36
36
|
*/
|
|
37
|
-
export type
|
|
37
|
+
export type Tempo<
|
|
38
38
|
pending extends boolean = false,
|
|
39
39
|
bigintType = bigint,
|
|
40
40
|
numberType = number,
|
|
41
|
-
type extends string = '
|
|
41
|
+
type extends string = 'tempo',
|
|
42
42
|
> = Compute<
|
|
43
43
|
Omit<
|
|
44
44
|
ox_Transaction.Base<type, pending, bigintType, numberType>,
|
|
45
|
-
//
|
|
45
|
+
// Tempo transactions don't have these properties.
|
|
46
46
|
'input' | 'to' | 'value' | 'v' | 'r' | 's' | 'yParity'
|
|
47
47
|
> & {
|
|
48
48
|
/** EIP-2930 Access List. */
|
|
@@ -92,9 +92,9 @@ export type AA<
|
|
|
92
92
|
/**
|
|
93
93
|
* Native account abstraction transaction in RPC format.
|
|
94
94
|
*/
|
|
95
|
-
export type
|
|
95
|
+
export type TempoRpc<pending extends boolean = false> = Compute<
|
|
96
96
|
Omit<
|
|
97
|
-
|
|
97
|
+
Tempo<pending, Hex.Hex, Hex.Hex, ToRpcType['tempo']>,
|
|
98
98
|
'calls' | 'keyAuthorization' | 'signature'
|
|
99
99
|
> & {
|
|
100
100
|
calls:
|
|
@@ -112,7 +112,7 @@ export type AARpc<pending extends boolean = false> = Compute<
|
|
|
112
112
|
/** Type to RPC Type mapping. */
|
|
113
113
|
export const toRpcType = {
|
|
114
114
|
...ox_Transaction.toRpcType,
|
|
115
|
-
|
|
115
|
+
tempo: '0x76',
|
|
116
116
|
} as const
|
|
117
117
|
|
|
118
118
|
/** Type to RPC Type mapping. */
|
|
@@ -123,7 +123,7 @@ export type ToRpcType = typeof toRpcType & {
|
|
|
123
123
|
/** RPC Type to Type mapping. */
|
|
124
124
|
export const fromRpcType = {
|
|
125
125
|
...ox_Transaction.fromRpcType,
|
|
126
|
-
'0x76': '
|
|
126
|
+
'0x76': 'tempo',
|
|
127
127
|
} as const
|
|
128
128
|
|
|
129
129
|
/** RPC Type to Type mapping. */
|
|
@@ -268,7 +268,7 @@ export declare namespace fromRpc {
|
|
|
268
268
|
* type: 'secp256k1',
|
|
269
269
|
* },
|
|
270
270
|
* transactionIndex: 2,
|
|
271
|
-
* type: '
|
|
271
|
+
* type: 'tempo',
|
|
272
272
|
* })
|
|
273
273
|
* ```
|
|
274
274
|
*
|