viem 0.0.0-main.20230809T145104 → 0.0.0-main.20230810T035919
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/accounts/index.js +5 -1
- package/dist/cjs/accounts/index.js.map +1 -1
- package/dist/cjs/accounts/utils/privateKeyToAddress.js +12 -0
- package/dist/cjs/accounts/utils/privateKeyToAddress.js.map +1 -0
- package/dist/cjs/accounts/utils/signTransaction.js.map +1 -1
- package/dist/cjs/actions/public/estimateGas.js +3 -1
- package/dist/cjs/actions/public/estimateGas.js.map +1 -1
- package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
- package/dist/cjs/chains/celo/formatters.js.map +1 -1
- package/dist/cjs/chains/celo/serializers.js.map +1 -1
- package/dist/cjs/chains/index.js +19 -4
- package/dist/cjs/chains/index.js.map +1 -1
- package/dist/cjs/chains/optimism/fees.js +7 -0
- package/dist/cjs/chains/optimism/fees.js.map +1 -0
- package/dist/cjs/chains/optimism/formatters.js.map +1 -1
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/chain.js +5 -3
- package/dist/cjs/utils/chain.js.map +1 -1
- package/dist/cjs/utils/formatters/block.js.map +1 -1
- package/dist/cjs/utils/formatters/extract.js.map +1 -1
- package/dist/cjs/utils/formatters/transaction.js.map +1 -1
- package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
- package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
- package/dist/cjs/utils/transaction/prepareRequest.js +15 -6
- package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/esm/accounts/index.js +2 -0
- package/dist/esm/accounts/index.js.map +1 -1
- package/dist/esm/accounts/utils/privateKeyToAddress.js +15 -0
- package/dist/esm/accounts/utils/privateKeyToAddress.js.map +1 -0
- package/dist/esm/accounts/utils/signTransaction.js.map +1 -1
- package/dist/esm/actions/public/estimateGas.js +4 -2
- package/dist/esm/actions/public/estimateGas.js.map +1 -1
- package/dist/esm/actions/wallet/sendTransaction.js +1 -1
- package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
- package/dist/esm/actions/wallet/writeContract.js.map +1 -1
- package/dist/esm/chains/celo/formatters.js +1 -1
- package/dist/esm/chains/celo/formatters.js.map +1 -1
- package/dist/esm/chains/celo/serializers.js.map +1 -1
- package/dist/esm/chains/index.js +19 -4
- package/dist/esm/chains/index.js.map +1 -1
- package/dist/esm/chains/optimism/fees.js +4 -0
- package/dist/esm/chains/optimism/fees.js.map +1 -0
- package/dist/esm/chains/optimism/formatters.js +1 -1
- package/dist/esm/chains/optimism/formatters.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/chain.js +5 -3
- package/dist/esm/utils/chain.js.map +1 -1
- package/dist/esm/utils/formatters/block.js.map +1 -1
- package/dist/esm/utils/formatters/extract.js.map +1 -1
- package/dist/esm/utils/formatters/transaction.js.map +1 -1
- package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
- package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
- package/dist/esm/utils/transaction/prepareRequest.js +14 -5
- package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
- package/dist/types/accounts/index.d.ts +2 -0
- package/dist/types/accounts/index.d.ts.map +1 -1
- package/dist/types/accounts/utils/privateKeyToAddress.d.ts +11 -0
- package/dist/types/accounts/utils/privateKeyToAddress.d.ts.map +1 -0
- package/dist/types/accounts/utils/signTransaction.d.ts +2 -2
- package/dist/types/accounts/utils/signTransaction.d.ts.map +1 -1
- package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
- package/dist/types/actions/public/getTransactionReceipt.d.ts +1 -1
- package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
- package/dist/types/actions/public/simulateContract.d.ts +2 -2
- package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
- package/dist/types/actions/wallet/deployContract.d.ts +1 -1
- package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
- package/dist/types/actions/wallet/sendTransaction.d.ts +2 -2
- package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
- package/dist/types/actions/wallet/writeContract.d.ts +4 -2
- package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
- package/dist/types/chains/celo/formatters.d.ts.map +1 -1
- package/dist/types/chains/celo/serializers.d.ts.map +1 -1
- package/dist/types/chains/index.d.ts +2527 -2798
- package/dist/types/chains/index.d.ts.map +1 -1
- package/dist/types/chains/optimism/fees.d.ts +4 -0
- package/dist/types/chains/optimism/fees.d.ts.map +1 -0
- package/dist/types/chains/optimism/formatters.d.ts.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +1 -1
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/index.d.ts +13 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/chain.d.ts +52 -8
- package/dist/types/types/chain.d.ts.map +1 -1
- package/dist/types/utils/chain.d.ts +3 -6
- package/dist/types/utils/chain.d.ts.map +1 -1
- package/dist/types/utils/formatters/block.d.ts +6 -2
- package/dist/types/utils/formatters/block.d.ts.map +1 -1
- package/dist/types/utils/formatters/extract.d.ts +2 -2
- package/dist/types/utils/formatters/extract.d.ts.map +1 -1
- package/dist/types/utils/formatters/transaction.d.ts +7 -3
- package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
- package/dist/types/utils/formatters/transactionReceipt.d.ts +2 -3
- package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
- package/dist/types/utils/formatters/transactionRequest.d.ts +3 -4
- package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
- package/dist/types/utils/transaction/prepareRequest.d.ts +6 -11
- package/dist/types/utils/transaction/prepareRequest.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/accounts/index.ts +6 -0
- package/src/accounts/utils/privateKeyToAddress.ts +20 -0
- package/src/accounts/utils/signTransaction.ts +2 -2
- package/src/actions/public/estimateGas.ts +11 -2
- package/src/actions/public/simulateContract.ts +2 -2
- package/src/actions/wallet/deployContract.ts +1 -1
- package/src/actions/wallet/sendTransaction.ts +9 -6
- package/src/actions/wallet/writeContract.ts +11 -7
- package/src/chains/celo/formatters.ts +2 -2
- package/src/chains/celo/serializers.ts +2 -2
- package/src/chains/index.ts +19 -4
- package/src/chains/optimism/fees.ts +5 -0
- package/src/chains/optimism/formatters.ts +2 -2
- package/src/clients/decorators/public.ts +3 -3
- package/src/errors/version.ts +1 -1
- package/src/index.ts +24 -8
- package/src/types/chain.ts +91 -14
- package/src/utils/chain.ts +21 -10
- package/src/utils/formatters/block.ts +8 -6
- package/src/utils/formatters/extract.ts +2 -2
- package/src/utils/formatters/transaction.ts +8 -6
- package/src/utils/formatters/transactionReceipt.ts +9 -3
- package/src/utils/formatters/transactionRequest.ts +9 -3
- package/src/utils/transaction/prepareRequest.ts +48 -22
- package/dist/cjs/types/formatter.js +0 -3
- package/dist/cjs/types/formatter.js.map +0 -1
- package/dist/cjs/types/serializer.js +0 -3
- package/dist/cjs/types/serializer.js.map +0 -1
- package/dist/esm/types/formatter.js +0 -2
- package/dist/esm/types/formatter.js.map +0 -1
- package/dist/esm/types/serializer.js +0 -2
- package/dist/esm/types/serializer.js.map +0 -1
- package/dist/types/types/formatter.d.ts +0 -17
- package/dist/types/types/formatter.d.ts.map +0 -1
- package/dist/types/types/serializer.d.ts +0 -7
- package/dist/types/types/serializer.d.ts.map +0 -1
- package/src/types/formatter.ts +0 -42
- package/src/types/serializer.ts +0 -19
@@ -15,24 +15,34 @@ import type { Transport } from '../../clients/transports/createTransport.js'
|
|
15
15
|
import { AccountNotFoundError } from '../../errors/account.js'
|
16
16
|
import { BaseError } from '../../errors/base.js'
|
17
17
|
import type { GetAccountParameter } from '../../types/account.js'
|
18
|
-
import type { Chain } from '../../types/chain.js'
|
19
|
-
|
18
|
+
import type { Chain, GetChain } from '../../types/chain.js'
|
19
|
+
import type { UnionOmit } from '../../types/utils.js'
|
20
|
+
import type { FormattedTransactionRequest } from '../index.js'
|
20
21
|
import { type AssertRequestParameters, assertRequest } from './assertRequest.js'
|
21
22
|
|
22
23
|
export type PrepareRequestParameters<
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
TChain extends Chain | undefined = Chain | undefined,
|
25
|
+
TAccount extends Account | undefined = Account | undefined,
|
26
|
+
TChainOverride extends Chain | undefined = Chain | undefined,
|
27
|
+
> = UnionOmit<
|
28
|
+
FormattedTransactionRequest<
|
29
|
+
TChainOverride extends Chain ? TChainOverride : TChain
|
30
|
+
>,
|
31
|
+
'from'
|
32
|
+
> &
|
33
|
+
GetAccountParameter<TAccount> &
|
34
|
+
GetChain<TChain, TChainOverride>
|
31
35
|
|
32
36
|
export type PrepareRequestReturnType<
|
33
|
-
|
34
|
-
|
35
|
-
|
37
|
+
TChain extends Chain | undefined = Chain | undefined,
|
38
|
+
TAccount extends Account | undefined = Account | undefined,
|
39
|
+
TChainOverride extends Chain | undefined = Chain | undefined,
|
40
|
+
TArgs extends PrepareRequestParameters<
|
41
|
+
TChain,
|
42
|
+
TAccount,
|
43
|
+
TChainOverride
|
44
|
+
> = PrepareRequestParameters<TChain, TAccount, TChainOverride>,
|
45
|
+
> = TArgs & {
|
36
46
|
from: Address
|
37
47
|
gas: SendTransactionParameters['gas']
|
38
48
|
gasPrice?: SendTransactionParameters['gasPrice']
|
@@ -41,18 +51,18 @@ export type PrepareRequestReturnType<
|
|
41
51
|
nonce: SendTransactionParameters['nonce']
|
42
52
|
}
|
43
53
|
|
44
|
-
export const defaultTip = 1_500_000_000n // 1.5 gwei
|
45
|
-
|
46
54
|
export async function prepareRequest<
|
47
55
|
TChain extends Chain | undefined,
|
48
56
|
TAccount extends Account | undefined,
|
49
|
-
|
57
|
+
TChainOverride extends Chain | undefined,
|
58
|
+
TArgs extends PrepareRequestParameters<TChain, TAccount, TChainOverride>,
|
50
59
|
>(
|
51
60
|
client: Client<Transport, TChain, TAccount>,
|
52
|
-
args:
|
53
|
-
): Promise<PrepareRequestReturnType<TAccount,
|
61
|
+
args: TArgs,
|
62
|
+
): Promise<PrepareRequestReturnType<TChain, TAccount, TChainOverride, TArgs>> {
|
54
63
|
const {
|
55
64
|
account: account_,
|
65
|
+
chain = client.chain,
|
56
66
|
gas,
|
57
67
|
gasPrice,
|
58
68
|
maxFeePerGas,
|
@@ -76,22 +86,33 @@ export async function prepareRequest<
|
|
76
86
|
typeof block.baseFeePerGas === 'bigint' &&
|
77
87
|
typeof gasPrice === 'undefined'
|
78
88
|
) {
|
89
|
+
let defaultPriorityFee = 1_500_000_000n // 1.5 gwei
|
90
|
+
if (typeof chain?.fees?.defaultPriorityFee !== 'undefined') {
|
91
|
+
defaultPriorityFee =
|
92
|
+
typeof chain.fees.defaultPriorityFee === 'bigint'
|
93
|
+
? chain.fees.defaultPriorityFee
|
94
|
+
: await chain.fees.defaultPriorityFee({
|
95
|
+
block,
|
96
|
+
request: request as PrepareRequestParameters,
|
97
|
+
})
|
98
|
+
}
|
99
|
+
|
79
100
|
// EIP-1559 fees
|
80
101
|
if (typeof maxFeePerGas === 'undefined') {
|
81
102
|
// Set a buffer of 1.2x on top of the base fee to account for fluctuations.
|
82
|
-
request.maxPriorityFeePerGas = maxPriorityFeePerGas ??
|
103
|
+
request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee
|
83
104
|
request.maxFeePerGas =
|
84
105
|
(block.baseFeePerGas * 120n) / 100n + request.maxPriorityFeePerGas
|
85
106
|
} else {
|
86
107
|
if (
|
87
108
|
typeof maxPriorityFeePerGas === 'undefined' &&
|
88
|
-
maxFeePerGas <
|
109
|
+
maxFeePerGas < defaultPriorityFee
|
89
110
|
)
|
90
111
|
throw new BaseError(
|
91
112
|
'`maxFeePerGas` cannot be less than the default `maxPriorityFeePerGas` (1.5 gwei).',
|
92
113
|
)
|
93
114
|
request.maxFeePerGas = maxFeePerGas
|
94
|
-
request.maxPriorityFeePerGas = maxPriorityFeePerGas ??
|
115
|
+
request.maxPriorityFeePerGas = maxPriorityFeePerGas ?? defaultPriorityFee
|
95
116
|
}
|
96
117
|
} else if (typeof gasPrice === 'undefined') {
|
97
118
|
// Legacy fees
|
@@ -113,5 +134,10 @@ export async function prepareRequest<
|
|
113
134
|
|
114
135
|
assertRequest(request as AssertRequestParameters)
|
115
136
|
|
116
|
-
return request as PrepareRequestReturnType<
|
137
|
+
return request as PrepareRequestReturnType<
|
138
|
+
TChain,
|
139
|
+
TAccount,
|
140
|
+
TChainOverride,
|
141
|
+
TArgs
|
142
|
+
>
|
117
143
|
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":""}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":""}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":""}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":""}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import type { Chain } from './chain.js';
|
2
|
-
export type Formatter<TType extends string = string> = {
|
3
|
-
format: (args: any) => any;
|
4
|
-
type: TType;
|
5
|
-
};
|
6
|
-
export type Formatters = {
|
7
|
-
block?: Formatter<'block'>;
|
8
|
-
transaction?: Formatter<'transaction'>;
|
9
|
-
transactionReceipt?: Formatter<'transactionReceipt'>;
|
10
|
-
transactionRequest?: Formatter<'transactionRequest'>;
|
11
|
-
};
|
12
|
-
export type ExtractFormatterExclude<TChain extends Chain | undefined, TType extends keyof Formatters> = TChain extends Chain<infer _Formatters extends Formatters> ? _Formatters[TType] extends {
|
13
|
-
exclude: infer Exclude;
|
14
|
-
} ? Extract<Exclude, string[]>[number] : '' : '';
|
15
|
-
export type ExtractFormatterParameters<TChain extends Chain | undefined, TType extends keyof Formatters, TFallback> = TChain extends Chain<infer _Formatters extends Formatters> ? _Formatters[TType] extends Formatter ? Parameters<_Formatters[TType]['format']>[0] : TFallback : TFallback;
|
16
|
-
export type ExtractFormatterReturnType<TChain extends Chain | undefined, TType extends keyof Formatters, TFallback> = TChain extends Chain<infer _Formatters extends Formatters> ? _Formatters[TType] extends Formatter ? ReturnType<_Formatters[TType]['format']> : TFallback : TFallback;
|
17
|
-
//# sourceMappingURL=formatter.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/types/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;IAC1B,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACtC,kBAAkB,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAA;IACpD,kBAAkB,CAAC,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,KAAK,SAAS,MAAM,UAAU,IAC5B,MAAM,SAAS,KAAK,CAAC,MAAM,WAAW,SAAS,UAAU,CAAC,GAC1D,WAAW,CAAC,KAAK,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,OAAO,CAAA;CAAE,GACnD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAClC,EAAE,GACJ,EAAE,CAAA;AAEN,MAAM,MAAM,0BAA0B,CACpC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,KAAK,SAAS,MAAM,UAAU,EAC9B,SAAS,IACP,MAAM,SAAS,KAAK,CAAC,MAAM,WAAW,SAAS,UAAU,CAAC,GAC1D,WAAW,CAAC,KAAK,CAAC,SAAS,SAAS,GAClC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAC3C,SAAS,GACX,SAAS,CAAA;AAEb,MAAM,MAAM,0BAA0B,CACpC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,KAAK,SAAS,MAAM,UAAU,EAC9B,SAAS,IACP,MAAM,SAAS,KAAK,CAAC,MAAM,WAAW,SAAS,UAAU,CAAC,GAC1D,WAAW,CAAC,KAAK,CAAC,SAAS,SAAS,GAClC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,GACxC,SAAS,GACX,SAAS,CAAA"}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import type { TransactionSerializable, TransactionSerializableGeneric } from '../types/transaction.js';
|
2
|
-
import type { SerializeTransactionFn } from '../utils/transaction/serializeTransaction.js';
|
3
|
-
import type { Formatter, Formatters } from './formatter.js';
|
4
|
-
export type Serializers<TFormatters extends Formatters | undefined = undefined> = {
|
5
|
-
transaction?: SerializeTransactionFn<TFormatters extends Formatters ? TFormatters['transactionRequest'] extends Formatter ? TransactionSerializableGeneric & Parameters<TFormatters['transactionRequest']['format']>[0] : TransactionSerializable : TransactionSerializable>;
|
6
|
-
};
|
7
|
-
//# sourceMappingURL=serializer.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../src/types/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAA;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3D,MAAM,MAAM,WAAW,CACrB,WAAW,SAAS,UAAU,GAAG,SAAS,GAAG,SAAS,IACpD;IACF,WAAW,CAAC,EAAE,sBAAsB,CAClC,WAAW,SAAS,UAAU,GAC1B,WAAW,CAAC,oBAAoB,CAAC,SAAS,SAAS,GACjD,8BAA8B,GAC5B,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5D,uBAAuB,GACzB,uBAAuB,CAC5B,CAAA;CACF,CAAA"}
|
package/src/types/formatter.ts
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
import type { Chain } from './chain.js'
|
2
|
-
|
3
|
-
export type Formatter<TType extends string = string> = {
|
4
|
-
format: (args: any) => any
|
5
|
-
type: TType
|
6
|
-
}
|
7
|
-
|
8
|
-
export type Formatters = {
|
9
|
-
block?: Formatter<'block'>
|
10
|
-
transaction?: Formatter<'transaction'>
|
11
|
-
transactionReceipt?: Formatter<'transactionReceipt'>
|
12
|
-
transactionRequest?: Formatter<'transactionRequest'>
|
13
|
-
}
|
14
|
-
|
15
|
-
export type ExtractFormatterExclude<
|
16
|
-
TChain extends Chain | undefined,
|
17
|
-
TType extends keyof Formatters,
|
18
|
-
> = TChain extends Chain<infer _Formatters extends Formatters>
|
19
|
-
? _Formatters[TType] extends { exclude: infer Exclude }
|
20
|
-
? Extract<Exclude, string[]>[number]
|
21
|
-
: ''
|
22
|
-
: ''
|
23
|
-
|
24
|
-
export type ExtractFormatterParameters<
|
25
|
-
TChain extends Chain | undefined,
|
26
|
-
TType extends keyof Formatters,
|
27
|
-
TFallback,
|
28
|
-
> = TChain extends Chain<infer _Formatters extends Formatters>
|
29
|
-
? _Formatters[TType] extends Formatter
|
30
|
-
? Parameters<_Formatters[TType]['format']>[0]
|
31
|
-
: TFallback
|
32
|
-
: TFallback
|
33
|
-
|
34
|
-
export type ExtractFormatterReturnType<
|
35
|
-
TChain extends Chain | undefined,
|
36
|
-
TType extends keyof Formatters,
|
37
|
-
TFallback,
|
38
|
-
> = TChain extends Chain<infer _Formatters extends Formatters>
|
39
|
-
? _Formatters[TType] extends Formatter
|
40
|
-
? ReturnType<_Formatters[TType]['format']>
|
41
|
-
: TFallback
|
42
|
-
: TFallback
|
package/src/types/serializer.ts
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
import type {
|
2
|
-
TransactionSerializable,
|
3
|
-
TransactionSerializableGeneric,
|
4
|
-
} from '../types/transaction.js'
|
5
|
-
import type { SerializeTransactionFn } from '../utils/transaction/serializeTransaction.js'
|
6
|
-
import type { Formatter, Formatters } from './formatter.js'
|
7
|
-
|
8
|
-
export type Serializers<
|
9
|
-
TFormatters extends Formatters | undefined = undefined,
|
10
|
-
> = {
|
11
|
-
transaction?: SerializeTransactionFn<
|
12
|
-
TFormatters extends Formatters
|
13
|
-
? TFormatters['transactionRequest'] extends Formatter
|
14
|
-
? TransactionSerializableGeneric &
|
15
|
-
Parameters<TFormatters['transactionRequest']['format']>[0]
|
16
|
-
: TransactionSerializable
|
17
|
-
: TransactionSerializable
|
18
|
-
>
|
19
|
-
}
|