tempo.ts 0.8.2 → 0.8.3

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # tempo.ts
2
2
 
3
+ ## 0.8.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [`c092cfa`](https://github.com/tempoxyz/tempo-ts/commit/c092cfad47898d10f621da8bad5e414a624dd05e) Thanks [@jxom](https://github.com/jxom)! - `tempo.ts/viem`: Fixed `account` type on transaction requests.
8
+
3
9
  ## 0.8.2
4
10
 
5
11
  ### Patch Changes
@@ -246,9 +246,7 @@ declare function config<const chain extends Chain>(chain: chain): {
246
246
  };
247
247
  readonly transactionRequest: {
248
248
  exclude: [] | undefined;
249
- format: (args: import("../internal/types.js").UnionOmit<Transaction.TransactionRequest, "feeToken"> & import("./internal/types.js").GetFeeTokenParameter<chain> & {
250
- account?: import("viem").Account | undefined;
251
- }, action?: string | undefined) => ({
249
+ format: (args: import("../internal/types.js").UnionOmit<Transaction.TransactionRequest, "feeToken"> & import("./internal/types.js").GetFeeTokenParameter<chain>, action?: string | undefined) => ({
252
250
  data?: `0x${string}` | undefined;
253
251
  from?: `0x${string}` | undefined;
254
252
  gas?: `0x${string}` | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../src/viem/Chain.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,KAAK,IAAI,UAAU,EACzB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAEhD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,MAAM,MAAM,KAAK,CACf,QAAQ,SAAS,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,GACxD,OAAO,CAAC,gBAAgB,GACxB,IAAI,GACJ,SAAS,IACX,UAAU,GACZ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC/B;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAA;CACvD,GACD;IACE,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAC,CAAA;AAER,iBAAS,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAgGzC,sBAAsB;;UAInC;AAED,wBAAgB,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,UAAU,EACnD,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAK3B;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,UAAU,GAAG;QAChB;;;;;;;;WAQG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAA;KACvD,CAAA;IAED,KAAK,WAAW,CAAC,KAAK,SAAS,UAAU,IAAI,CAAC,CAC5C,UAAU,SAAS,MAAM,CAAC,UAAU,GAAG,SAAS,EAEhD,UAAU,EAAE,UAAU,KACnB,UAAU,CAAC,OAAO,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;KAAE,CAAA;CAC1E"}
1
+ {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../src/viem/Chain.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,KAAK,IAAI,UAAU,EACzB,MAAM,MAAM,CAAA;AACb,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAEhD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,MAAM,MAAM,KAAK,CACf,QAAQ,SAAS,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,GACxD,OAAO,CAAC,gBAAgB,GACxB,IAAI,GACJ,SAAS,IACX,UAAU,GACZ,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,IAAI,GAC/B;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAA;CACvD,GACD;IACE,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAC,CAAA;AAER,iBAAS,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAgGzC,sBAAsB;;UAInC;AAED,wBAAgB,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,UAAU,EACnD,KAAK,EAAE,KAAK,GACX,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAK3B;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,UAAU,GAAG;QAChB;;;;;;;;WAQG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAA;KACvD,CAAA;IAED,KAAK,WAAW,CAAC,KAAK,SAAS,UAAU,IAAI,CAAC,CAC5C,UAAU,SAAS,MAAM,CAAC,UAAU,GAAG,SAAS,EAEhD,UAAU,EAAE,UAAU,KACnB,UAAU,CAAC,OAAO,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;KAAE,CAAA;CAC1E"}
@@ -1,12 +1,10 @@
1
- import { type Chain, type Account as viem_Account } from 'viem';
1
+ import { type Chain } from 'viem';
2
2
  import type { UnionOmit } from '../internal/types.js';
3
3
  import type { GetFeeTokenParameter } from './internal/types.js';
4
4
  import { type Transaction, type TransactionReceipt, type TransactionReceiptRpc, type TransactionRequest, type TransactionRequestRpc, type TransactionRpc } from './Transaction.js';
5
5
  export declare function formatTransaction(transaction: TransactionRpc): Transaction<bigint, number, boolean>;
6
6
  export declare function formatTransactionReceipt(receipt: TransactionReceiptRpc): TransactionReceipt;
7
- type Request<chain extends Chain | undefined> = UnionOmit<TransactionRequest, 'feeToken'> & GetFeeTokenParameter<chain> & {
8
- account?: viem_Account | undefined;
9
- };
7
+ type Request<chain extends Chain | undefined> = UnionOmit<TransactionRequest, 'feeToken'> & GetFeeTokenParameter<chain>;
10
8
  export declare function formatTransactionRequest<chain extends Chain | undefined>(r: Request<chain>, action?: string | undefined): TransactionRequestRpc;
11
9
  export {};
12
10
  //# sourceMappingURL=Formatters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Formatters.d.ts","sourceRoot":"","sources":["../../src/viem/Formatters.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,OAAO,IAAI,YAAY,EAI7B,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,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,KAAK,OAAO,CAAC,KAAK,SAAS,KAAK,GAAG,SAAS,IAAI,SAAS,CACvD,kBAAkB,EAClB,UAAU,CACX,GACC,oBAAoB,CAAC,KAAK,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,CAAA;AACtE,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,KAAK,GAAG,SAAS,EACtE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,qBAAqB,CAuFvB"}
1
+ {"version":3,"file":"Formatters.d.ts","sourceRoot":"","sources":["../../src/viem/Formatters.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,KAAK,EAKX,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,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,KAAK,OAAO,CAAC,KAAK,SAAS,KAAK,GAAG,SAAS,IAAI,SAAS,CACvD,kBAAkB,EAClB,UAAU,CACX,GACC,oBAAoB,CAAC,KAAK,CAAC,CAAA;AAC7B,wBAAgB,wBAAwB,CAAC,KAAK,SAAS,KAAK,GAAG,SAAS,EACtE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAC1B,qBAAqB,CA4FvB"}
@@ -36,7 +36,9 @@ export function formatTransactionReceipt(receipt) {
36
36
  }
37
37
  export function formatTransactionRequest(r, action) {
38
38
  const request = r;
39
- const account = request.account;
39
+ const account = request.account
40
+ ? parseAccount(request.account)
41
+ : undefined;
40
42
  // Convert EIP-1559 transactions to AA transactions.
41
43
  if (request.type === 'eip1559')
42
44
  request.type = 'aa';
@@ -72,7 +74,7 @@ export function formatTransactionRequest(r, action) {
72
74
  // TODO: `calls` will not be supported by a lot of JSON-RPC accounts (wallet),
73
75
  // use `wallet_sendCalls` or sequential `eth_sendTransaction` to mimic the
74
76
  // behavior of `calls`.
75
- if (request.account?.type === 'json-rpc') {
77
+ if (account?.type === 'json-rpc') {
76
78
  if (rpc.calls?.length && rpc.calls.length > 1)
77
79
  throw new Error('Batch calls are not supported with JSON-RPC accounts yet.');
78
80
  rpc.type = undefined;
@@ -81,13 +83,13 @@ export function formatTransactionRequest(r, action) {
81
83
  // However, `calls` may not be supported by JSON-RPC accounts (wallets) yet,
82
84
  // so we will not remove the `data`, `to`, and `value` fields to make it
83
85
  // compatible with the base transaction structure.
84
- if (request.account?.type !== 'json-rpc') {
86
+ if (account?.type !== 'json-rpc') {
85
87
  rpc.to = undefined;
86
88
  rpc.data = undefined;
87
89
  rpc.value = undefined;
88
90
  }
89
91
  const [keyType, keyData] = (() => {
90
- const type = account?.keyType || account?.source;
92
+ const type = account && 'keyType' in account ? account.keyType : account?.source;
91
93
  if (!type)
92
94
  return [undefined, undefined];
93
95
  if (type === 'webAuthn')
@@ -1 +1 @@
1
- {"version":3,"file":"Formatters.js","sourceRoot":"","sources":["../../src/viem/Formatters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Formatters.js","sourceRoot":"","sources":["../../src/viem/Formatters.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tempo.ts",
3
3
  "type": "module",
4
- "version": "0.8.2",
4
+ "version": "0.8.3",
5
5
  "dependencies": {
6
6
  "@remix-run/fetch-router": "~0.12.0",
7
7
  "idb-keyval": "^6.2.2",
@@ -8,7 +8,7 @@ import {
8
8
  formatTransactionReceipt as viem_formatTransactionReceipt,
9
9
  formatTransactionRequest as viem_formatTransactionRequest,
10
10
  } from 'viem'
11
- import { parseAccount } from 'viem/accounts'
11
+ import { type Address, parseAccount } from 'viem/accounts'
12
12
  import type { UnionOmit } from '../internal/types.js'
13
13
  import * as ox_Transaction from '../ox/Transaction.js'
14
14
  import * as ox_TransactionRequest from '../ox/TransactionRequest.js'
@@ -72,13 +72,17 @@ type Request<chain extends Chain | undefined> = UnionOmit<
72
72
  TransactionRequest,
73
73
  'feeToken'
74
74
  > &
75
- GetFeeTokenParameter<chain> & { account?: viem_Account | undefined }
75
+ GetFeeTokenParameter<chain>
76
76
  export function formatTransactionRequest<chain extends Chain | undefined>(
77
77
  r: Request<chain>,
78
78
  action?: string | undefined,
79
79
  ): TransactionRequestRpc {
80
- const request = r as Request<chain>
81
- const account = request.account as Account | undefined
80
+ const request = r as Request<chain> & {
81
+ account?: viem_Account | Address | undefined
82
+ }
83
+ const account = request.account
84
+ ? parseAccount<Account | viem_Account | Address>(request.account)
85
+ : undefined
82
86
 
83
87
  // Convert EIP-1559 transactions to AA transactions.
84
88
  if (request.type === 'eip1559') (request as any).type = 'aa'
@@ -122,7 +126,7 @@ export function formatTransactionRequest<chain extends Chain | undefined>(
122
126
  // TODO: `calls` will not be supported by a lot of JSON-RPC accounts (wallet),
123
127
  // use `wallet_sendCalls` or sequential `eth_sendTransaction` to mimic the
124
128
  // behavior of `calls`.
125
- if (request.account?.type === 'json-rpc') {
129
+ if (account?.type === 'json-rpc') {
126
130
  if (rpc.calls?.length && rpc.calls.length > 1)
127
131
  throw new Error(
128
132
  'Batch calls are not supported with JSON-RPC accounts yet.',
@@ -134,14 +138,15 @@ export function formatTransactionRequest<chain extends Chain | undefined>(
134
138
  // However, `calls` may not be supported by JSON-RPC accounts (wallets) yet,
135
139
  // so we will not remove the `data`, `to`, and `value` fields to make it
136
140
  // compatible with the base transaction structure.
137
- if (request.account?.type !== 'json-rpc') {
141
+ if (account?.type !== 'json-rpc') {
138
142
  rpc.to = undefined
139
143
  rpc.data = undefined
140
144
  rpc.value = undefined
141
145
  }
142
146
 
143
147
  const [keyType, keyData] = (() => {
144
- const type = account?.keyType || account?.source
148
+ const type =
149
+ account && 'keyType' in account ? account.keyType : account?.source
145
150
  if (!type) return [undefined, undefined]
146
151
  if (type === 'webAuthn')
147
152
  // TODO: derive correct bytes size of key data based on webauthn create metadata.