viem 1.4.2 → 1.5.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/dist/cjs/accounts/index.js +1 -1
- package/dist/cjs/accounts/index.js.map +1 -1
- package/dist/cjs/accounts/utils/signMessage.js +1 -1
- package/dist/cjs/accounts/utils/signMessage.js.map +1 -1
- package/dist/cjs/accounts/utils/signTypedData.js +1 -1
- package/dist/cjs/accounts/utils/signTypedData.js.map +1 -1
- package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/cjs/actions/public/createEventFilter.js +16 -8
- package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
- package/dist/cjs/actions/public/getBlock.js +3 -1
- package/dist/cjs/actions/public/getBlock.js.map +1 -1
- package/dist/cjs/actions/public/getBlockNumber.js +2 -2
- package/dist/cjs/actions/public/getBlockNumber.js.map +1 -1
- package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
- package/dist/cjs/actions/public/getFilterLogs.js +1 -1
- package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
- package/dist/cjs/actions/public/getLogs.js +16 -10
- package/dist/cjs/actions/public/getLogs.js.map +1 -1
- package/dist/cjs/actions/public/getTransaction.js +2 -1
- package/dist/cjs/actions/public/getTransaction.js.map +1 -1
- package/dist/cjs/actions/public/watchBlockNumber.js +1 -1
- package/dist/cjs/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/cjs/actions/public/watchBlocks.js +2 -1
- package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
- package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
- package/dist/cjs/actions/public/watchEvent.js +4 -2
- package/dist/cjs/actions/public/watchEvent.js.map +1 -1
- package/dist/cjs/clients/createClient.js +2 -1
- package/dist/cjs/clients/createClient.js.map +1 -1
- package/dist/cjs/clients/createPublicClient.js.map +1 -1
- package/dist/cjs/clients/createTestClient.js.map +1 -1
- package/dist/cjs/clients/createWalletClient.js.map +1 -1
- package/dist/cjs/clients/decorators/public.js.map +1 -1
- package/dist/cjs/constants/number.js +101 -0
- package/dist/cjs/constants/number.js.map +1 -0
- package/dist/cjs/errors/version.js +1 -1
- package/dist/cjs/index.js +110 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/formatters/block.js.map +1 -1
- package/dist/cjs/utils/formatters/formatter.js +1 -0
- package/dist/cjs/utils/formatters/formatter.js.map +1 -1
- package/dist/cjs/utils/formatters/transaction.js.map +1 -1
- package/dist/cjs/utils/promise/withCache.js +3 -3
- package/dist/cjs/utils/promise/withCache.js.map +1 -1
- package/dist/cjs/utils/signature/hexToSignature.js +12 -0
- package/dist/cjs/utils/signature/hexToSignature.js.map +1 -0
- package/dist/cjs/utils/signature/signatureToHex.js.map +1 -0
- package/dist/esm/accounts/index.js +1 -1
- package/dist/esm/accounts/index.js.map +1 -1
- package/dist/esm/accounts/utils/signMessage.js +1 -1
- package/dist/esm/accounts/utils/signMessage.js.map +1 -1
- package/dist/esm/accounts/utils/signTypedData.js +1 -1
- package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
- package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
- package/dist/esm/actions/public/createEventFilter.js +16 -8
- package/dist/esm/actions/public/createEventFilter.js.map +1 -1
- package/dist/esm/actions/public/getBlock.js +3 -1
- package/dist/esm/actions/public/getBlock.js.map +1 -1
- package/dist/esm/actions/public/getBlockNumber.js +2 -2
- package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
- package/dist/esm/actions/public/getFilterLogs.js +1 -1
- package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
- package/dist/esm/actions/public/getLogs.js +16 -10
- package/dist/esm/actions/public/getLogs.js.map +1 -1
- package/dist/esm/actions/public/getTransaction.js +2 -1
- package/dist/esm/actions/public/getTransaction.js.map +1 -1
- package/dist/esm/actions/public/watchBlockNumber.js +1 -1
- package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
- package/dist/esm/actions/public/watchBlocks.js +2 -1
- package/dist/esm/actions/public/watchBlocks.js.map +1 -1
- package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
- package/dist/esm/actions/public/watchEvent.js +4 -2
- package/dist/esm/actions/public/watchEvent.js.map +1 -1
- package/dist/esm/clients/createClient.js +2 -1
- package/dist/esm/clients/createClient.js.map +1 -1
- package/dist/esm/clients/createPublicClient.js.map +1 -1
- package/dist/esm/clients/createTestClient.js.map +1 -1
- package/dist/esm/clients/createWalletClient.js.map +1 -1
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/constants/number.js +97 -0
- package/dist/esm/constants/number.js.map +1 -0
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/index.js +4 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/formatters/block.js.map +1 -1
- package/dist/esm/utils/formatters/formatter.js +1 -0
- package/dist/esm/utils/formatters/formatter.js.map +1 -1
- package/dist/esm/utils/formatters/transaction.js.map +1 -1
- package/dist/esm/utils/promise/withCache.js +3 -3
- package/dist/esm/utils/promise/withCache.js.map +1 -1
- package/dist/esm/utils/signature/hexToSignature.js +18 -0
- package/dist/esm/utils/signature/hexToSignature.js.map +1 -0
- package/dist/esm/utils/signature/signatureToHex.js +21 -0
- package/dist/esm/utils/signature/signatureToHex.js.map +1 -0
- package/dist/types/accounts/index.d.ts +1 -1
- package/dist/types/accounts/index.d.ts.map +1 -1
- package/dist/types/actions/public/createContractEventFilter.d.ts +5 -5
- package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/createEventFilter.d.ts +20 -7
- package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
- package/dist/types/actions/public/getBlock.d.ts +5 -5
- package/dist/types/actions/public/getBlock.d.ts.map +1 -1
- package/dist/types/actions/public/getBlockNumber.d.ts +4 -2
- package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterChanges.d.ts +5 -8
- package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
- package/dist/types/actions/public/getFilterLogs.d.ts +5 -4
- package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
- package/dist/types/actions/public/getLogs.d.ts +17 -6
- package/dist/types/actions/public/getLogs.d.ts.map +1 -1
- package/dist/types/actions/public/getTransaction.d.ts +4 -4
- package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
- package/dist/types/actions/public/watchBlocks.d.ts +10 -10
- package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
- package/dist/types/actions/public/watchContractEvent.d.ts +1 -1
- package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
- package/dist/types/actions/public/watchEvent.d.ts +19 -8
- package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
- package/dist/types/chains/formatters/celo.d.ts +4 -0
- package/dist/types/chains/formatters/celo.d.ts.map +1 -1
- package/dist/types/chains/formatters/optimism.d.ts +5 -3
- package/dist/types/chains/formatters/optimism.d.ts.map +1 -1
- package/dist/types/chains/index.d.ts +44 -12
- package/dist/types/chains/index.d.ts.map +1 -1
- package/dist/types/clients/createClient.d.ts +7 -0
- package/dist/types/clients/createClient.d.ts.map +1 -1
- package/dist/types/clients/createPublicClient.d.ts +1 -1
- package/dist/types/clients/createPublicClient.d.ts.map +1 -1
- package/dist/types/clients/createTestClient.d.ts +1 -1
- package/dist/types/clients/createTestClient.d.ts.map +1 -1
- package/dist/types/clients/createWalletClient.d.ts +1 -1
- package/dist/types/clients/createWalletClient.d.ts.map +1 -1
- package/dist/types/clients/decorators/public.d.ts +10 -9
- package/dist/types/clients/decorators/public.d.ts.map +1 -1
- package/dist/types/constants/number.d.ts +97 -0
- package/dist/types/constants/number.d.ts.map +1 -0
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/block.d.ts +7 -7
- package/dist/types/types/block.d.ts.map +1 -1
- package/dist/types/types/contract.d.ts +1 -1
- package/dist/types/types/contract.d.ts.map +1 -1
- package/dist/types/types/filter.d.ts +7 -3
- package/dist/types/types/filter.d.ts.map +1 -1
- package/dist/types/types/formatter.d.ts +3 -0
- package/dist/types/types/formatter.d.ts.map +1 -1
- package/dist/types/types/log.d.ts +8 -8
- package/dist/types/types/log.d.ts.map +1 -1
- package/dist/types/types/misc.d.ts.map +1 -1
- package/dist/types/types/rpc.d.ts +3 -3
- package/dist/types/types/rpc.d.ts.map +1 -1
- package/dist/types/types/transaction.d.ts +8 -8
- package/dist/types/types/transaction.d.ts.map +1 -1
- package/dist/types/utils/formatters/block.d.ts +13 -3
- package/dist/types/utils/formatters/block.d.ts.map +1 -1
- package/dist/types/utils/formatters/formatter.d.ts +1 -0
- package/dist/types/utils/formatters/formatter.d.ts.map +1 -1
- package/dist/types/utils/formatters/transaction.d.ts +10 -3
- package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
- package/dist/types/utils/formatters/transactionReceipt.d.ts +1 -0
- package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
- package/dist/types/utils/formatters/transactionRequest.d.ts +1 -0
- package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
- package/dist/types/utils/promise/withCache.d.ts +3 -3
- package/dist/types/utils/promise/withCache.d.ts.map +1 -1
- package/dist/types/utils/signature/hexToSignature.d.ts +13 -0
- package/dist/types/utils/signature/hexToSignature.d.ts.map +1 -0
- package/dist/types/utils/signature/signatureToHex.d.ts +17 -0
- package/dist/types/utils/signature/signatureToHex.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/accounts/index.ts +1 -1
- package/src/accounts/utils/signMessage.ts +1 -1
- package/src/accounts/utils/signTypedData.ts +1 -1
- package/src/actions/public/createContractEventFilter.ts +30 -7
- package/src/actions/public/createEventFilter.ts +78 -24
- package/src/actions/public/getBlock.ts +18 -8
- package/src/actions/public/getBlockNumber.ts +5 -3
- package/src/actions/public/getFilterChanges.ts +46 -10
- package/src/actions/public/getFilterLogs.ts +26 -10
- package/src/actions/public/getLogs.ts +73 -18
- package/src/actions/public/getTransaction.ts +15 -8
- package/src/actions/public/watchBlockNumber.ts +1 -1
- package/src/actions/public/watchBlocks.ts +37 -18
- package/src/actions/public/watchContractEvent.ts +5 -5
- package/src/actions/public/watchEvent.ts +50 -17
- package/src/clients/createClient.ts +9 -0
- package/src/clients/createPublicClient.ts +7 -1
- package/src/clients/createTestClient.ts +7 -1
- package/src/clients/createWalletClient.ts +7 -1
- package/src/clients/decorators/public.ts +114 -25
- package/src/constants/number.ts +98 -0
- package/src/errors/version.ts +1 -1
- package/src/index.ts +101 -1
- package/src/types/block.ts +25 -10
- package/src/types/contract.ts +7 -3
- package/src/types/filter.ts +32 -26
- package/src/types/formatter.ts +9 -0
- package/src/types/log.ts +13 -8
- package/src/types/misc.ts +3 -0
- package/src/types/rpc.ts +20 -6
- package/src/types/transaction.ts +22 -11
- package/src/utils/formatters/block.ts +31 -4
- package/src/utils/formatters/formatter.ts +1 -0
- package/src/utils/formatters/transaction.ts +25 -2
- package/src/utils/promise/withCache.ts +5 -5
- package/src/utils/signature/hexToSignature.ts +20 -0
- package/src/utils/signature/signatureToHex.ts +26 -0
- package/dist/cjs/accounts/utils/signatureToHex.js.map +0 -1
- package/dist/esm/accounts/utils/signatureToHex.js +0 -7
- package/dist/esm/accounts/utils/signatureToHex.js.map +0 -1
- package/dist/types/accounts/utils/signatureToHex.d.ts +0 -3
- package/dist/types/accounts/utils/signatureToHex.d.ts.map +0 -1
- package/src/accounts/utils/signatureToHex.ts +0 -12
- /package/dist/cjs/{accounts/utils → utils/signature}/signatureToHex.js +0 -0
@@ -39,11 +39,11 @@ export type TransactionReceipt<TQuantity = bigint, TIndex = number, TStatus = 's
|
|
39
39
|
/** Transaction type */
|
40
40
|
type: TType;
|
41
41
|
};
|
42
|
-
export type TransactionBase<TQuantity = bigint, TIndex = number> = {
|
42
|
+
export type TransactionBase<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean> = {
|
43
43
|
/** Hash of block containing this transaction or `null` if pending */
|
44
|
-
blockHash:
|
44
|
+
blockHash: TPending extends true ? null : Hash;
|
45
45
|
/** Number of block containing this transaction or `null` if pending */
|
46
|
-
blockNumber:
|
46
|
+
blockNumber: TPending extends true ? null : TQuantity;
|
47
47
|
/** Transaction sender */
|
48
48
|
from: Address;
|
49
49
|
/** Gas provided for transaction execution */
|
@@ -61,7 +61,7 @@ export type TransactionBase<TQuantity = bigint, TIndex = number> = {
|
|
61
61
|
/** Transaction recipient or `null` if deploying a contract */
|
62
62
|
to: Address | null;
|
63
63
|
/** Index of this transaction in the block or `null` if pending */
|
64
|
-
transactionIndex:
|
64
|
+
transactionIndex: TPending extends true ? null : TIndex;
|
65
65
|
/** The type represented as hex. */
|
66
66
|
typeHex: Hex | null;
|
67
67
|
/** ECDSA recovery ID */
|
@@ -69,22 +69,22 @@ export type TransactionBase<TQuantity = bigint, TIndex = number> = {
|
|
69
69
|
/** Value in wei sent with this transaction */
|
70
70
|
value: TQuantity;
|
71
71
|
};
|
72
|
-
export type TransactionLegacy<TQuantity = bigint, TIndex = number, TType = 'legacy'> = TransactionBase<TQuantity, TIndex> & FeeValuesLegacy<TQuantity> & {
|
72
|
+
export type TransactionLegacy<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean, TType = 'legacy'> = TransactionBase<TQuantity, TIndex, TPending> & FeeValuesLegacy<TQuantity> & {
|
73
73
|
accessList?: never;
|
74
74
|
chainId?: TIndex;
|
75
75
|
type: TType;
|
76
76
|
};
|
77
|
-
export type TransactionEIP2930<TQuantity = bigint, TIndex = number, TType = 'eip2930'> = TransactionBase<TQuantity, TIndex> & FeeValuesLegacy<TQuantity> & {
|
77
|
+
export type TransactionEIP2930<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean, TType = 'eip2930'> = TransactionBase<TQuantity, TIndex, TPending> & FeeValuesLegacy<TQuantity> & {
|
78
78
|
accessList: AccessList;
|
79
79
|
chainId: TIndex;
|
80
80
|
type: TType;
|
81
81
|
};
|
82
|
-
export type TransactionEIP1559<TQuantity = bigint, TIndex = number, TType = 'eip1559'> = TransactionBase<TQuantity, TIndex> & FeeValuesEIP1559<TQuantity> & {
|
82
|
+
export type TransactionEIP1559<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean, TType = 'eip1559'> = TransactionBase<TQuantity, TIndex, TPending> & FeeValuesEIP1559<TQuantity> & {
|
83
83
|
accessList: AccessList;
|
84
84
|
chainId: TIndex;
|
85
85
|
type: TType;
|
86
86
|
};
|
87
|
-
export type Transaction<TQuantity = bigint, TIndex = number> = TransactionLegacy<TQuantity, TIndex> | TransactionEIP2930<TQuantity, TIndex> | TransactionEIP1559<TQuantity, TIndex>;
|
87
|
+
export type Transaction<TQuantity = bigint, TIndex = number, TPending extends boolean = boolean> = TransactionLegacy<TQuantity, TIndex, TPending> | TransactionEIP2930<TQuantity, TIndex, TPending> | TransactionEIP1559<TQuantity, TIndex, TPending>;
|
88
88
|
export type TransactionRequestBase<TQuantity = bigint, TIndex = number> = {
|
89
89
|
/** Contract code or a hashed method call with encoded args */
|
90
90
|
data?: Hex;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/types/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,CAAA;AAEnE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE7E,MAAM,MAAM,kBAAkB,CAC5B,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,SAAS,GAAG,UAAU,EAChC,KAAK,GAAG,eAAe,IACrB;IACF,gDAAgD;IAChD,SAAS,EAAE,IAAI,CAAA;IACf,kDAAkD;IAClD,WAAW,EAAE,SAAS,CAAA;IACtB,mEAAmE;IACnE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,oEAAoE;IACpE,iBAAiB,EAAE,SAAS,CAAA;IAC5B,kIAAkI;IAClI,iBAAiB,EAAE,SAAS,CAAA;IAC5B,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,mCAAmC;IACnC,OAAO,EAAE,SAAS,CAAA;IAClB,wDAAwD;IACxD,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAA;IAC9B,wBAAwB;IACxB,SAAS,EAAE,GAAG,CAAA;IACd,8EAA8E;IAC9E,MAAM,EAAE,OAAO,CAAA;IACf,8DAA8D;IAC9D,EAAE,EAAE,OAAO,GAAG,IAAI,CAAA;IAClB,+BAA+B;IAC/B,eAAe,EAAE,IAAI,CAAA;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,uBAAuB;IACvB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,eAAe,
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/types/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,CAAA;AAEnE,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE7E,MAAM,MAAM,kBAAkB,CAC5B,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,SAAS,GAAG,UAAU,EAChC,KAAK,GAAG,eAAe,IACrB;IACF,gDAAgD;IAChD,SAAS,EAAE,IAAI,CAAA;IACf,kDAAkD;IAClD,WAAW,EAAE,SAAS,CAAA;IACtB,mEAAmE;IACnE,eAAe,EAAE,OAAO,GAAG,IAAI,CAAA;IAC/B,oEAAoE;IACpE,iBAAiB,EAAE,SAAS,CAAA;IAC5B,kIAAkI;IAClI,iBAAiB,EAAE,SAAS,CAAA;IAC5B,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,mCAAmC;IACnC,OAAO,EAAE,SAAS,CAAA;IAClB,wDAAwD;IACxD,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAA;IAC9B,wBAAwB;IACxB,SAAS,EAAE,GAAG,CAAA;IACd,8EAA8E;IAC9E,MAAM,EAAE,OAAO,CAAA;IACf,8DAA8D;IAC9D,EAAE,EAAE,OAAO,GAAG,IAAI,CAAA;IAClB,+BAA+B;IAC/B,eAAe,EAAE,IAAI,CAAA;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB,uBAAuB;IACvB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,eAAe,CACzB,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,QAAQ,SAAS,OAAO,GAAG,OAAO,IAChC;IACF,qEAAqE;IACrE,SAAS,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC9C,uEAAuE;IACvE,WAAW,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;IACrD,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,6CAA6C;IAC7C,GAAG,EAAE,SAAS,CAAA;IACd,+BAA+B;IAC/B,IAAI,EAAE,IAAI,CAAA;IACV,4CAA4C;IAC5C,KAAK,EAAE,GAAG,CAAA;IACV,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,wBAAwB;IACxB,CAAC,EAAE,GAAG,CAAA;IACN,wBAAwB;IACxB,CAAC,EAAE,GAAG,CAAA;IACN,8DAA8D;IAC9D,EAAE,EAAE,OAAO,GAAG,IAAI,CAAA;IAClB,kEAAkE;IAClE,gBAAgB,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACvD,mCAAmC;IACnC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAA;IACnB,wBAAwB;IACxB,CAAC,EAAE,SAAS,CAAA;IACZ,8CAA8C;IAC9C,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AACD,MAAM,MAAM,iBAAiB,CAC3B,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,KAAK,GAAG,QAAQ,IACd,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC9C,eAAe,CAAC,SAAS,CAAC,GAAG;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AACH,MAAM,MAAM,kBAAkB,CAC5B,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,KAAK,GAAG,SAAS,IACf,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC9C,eAAe,CAAC,SAAS,CAAC,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AACH,MAAM,MAAM,kBAAkB,CAC5B,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,QAAQ,SAAS,OAAO,GAAG,OAAO,EAClC,KAAK,GAAG,SAAS,IACf,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC9C,gBAAgB,CAAC,SAAS,CAAC,GAAG;IAC5B,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AACH,MAAM,MAAM,WAAW,CACrB,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,QAAQ,SAAS,OAAO,GAAG,OAAO,IAEhC,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC9C,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC/C,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AAEnD,MAAM,MAAM,sBAAsB,CAAC,SAAS,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI;IACxE,8DAA8D;IAC9D,IAAI,CAAC,EAAE,GAAG,CAAA;IACV,yBAAyB;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,6CAA6C;IAC7C,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,8CAA8C;IAC9C,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AACD,MAAM,MAAM,wBAAwB,CAClC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,gBAAgB,GAAG,QAAQ,IACzB,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,GAC3C,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG;IACpC,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB,CAAA;AACH,MAAM,MAAM,yBAAyB,CACnC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,gBAAgB,GAAG,SAAS,IAC1B,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,GAC3C,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG;IACpC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB,CAAA;AACH,MAAM,MAAM,yBAAyB,CACnC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,EACf,gBAAgB,GAAG,SAAS,IAC1B,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,GAC3C,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,GAAG;IACrC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB,CAAA;AACH,MAAM,MAAM,kBAAkB,CAAC,SAAS,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,IAC9D,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,GAC3C,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,GAC5C,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AAEhD,MAAM,MAAM,4BAA4B,GAAG,OAAO,MAAM,EAAE,CAAA;AAC1D,MAAM,MAAM,4BAA4B,GAAG,OAAO,MAAM,EAAE,CAAA;AAC1D,MAAM,MAAM,2BAA2B,GAAG,GAAG,CAAA;AAC7C,MAAM,MAAM,4BAA4B,GAAG,GAAG,CAAA;AAC9C,MAAM,MAAM,qBAAqB,CAAC,KAAK,SAAS,eAAe,GAAG,QAAQ,IACxE,KAAK,SAAS,SAAS,GACnB,4BAA4B,GAC5B,KAAK,SAAS,SAAS,GACvB,4BAA4B,GAC5B,KAAK,SAAS,QAAQ,GACtB,2BAA2B,GAC3B,4BAA4B,CAAA;AAElC,MAAM,MAAM,2BAA2B,CACrC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,IACb,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAChF,MAAM,MAAM,6BAA6B,CACvC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,IACb,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,GAChD,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG;IACpC,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AACH,MAAM,MAAM,8BAA8B,CACxC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,IACb,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,GAChD,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG;IACpC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AACH,MAAM,MAAM,8BAA8B,CACxC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,IACb,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,GAChD,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,GAAG;IACrC,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AACH,MAAM,MAAM,8BAA8B,CACxC,SAAS,GAAG,MAAM,EAClB,MAAM,GAAG,MAAM,IACb,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;IACnD,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,oBAAoB,CAAC,EAAE,SAAS,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,SAAS,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,IACnE,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,GAChD,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC,GACjD,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC,GACjD,8BAA8B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA"}
|
@@ -1,14 +1,24 @@
|
|
1
|
-
import type { Block } from '../../types/block.js';
|
1
|
+
import type { Block, BlockTag } from '../../types/block.js';
|
2
2
|
import type { Chain } from '../../types/chain.js';
|
3
|
-
import type { ExtractFormatterReturnType } from '../../types/formatter.js';
|
3
|
+
import type { ExtractFormatterExclude, ExtractFormatterReturnType } from '../../types/formatter.js';
|
4
|
+
import type { Hash } from '../../types/misc.js';
|
4
5
|
import type { RpcBlock } from '../../types/rpc.js';
|
5
|
-
|
6
|
+
import type { Prettify } from '../../types/utils.js';
|
7
|
+
import { type FormattedTransaction } from './transaction.js';
|
8
|
+
type BlockPendingDependencies = 'hash' | 'logsBloom' | 'nonce' | 'number';
|
9
|
+
export type FormattedBlock<TChain extends Chain | undefined = Chain | undefined, TIncludeTransactions extends boolean = boolean, TBlockTag extends BlockTag = BlockTag, _FormatterReturnType = ExtractFormatterReturnType<TChain, 'block', Block<bigint, TIncludeTransactions>>, _ExcludedPendingDependencies extends string = BlockPendingDependencies & ExtractFormatterExclude<TChain, 'block'>, _Formatted = Omit<_FormatterReturnType, BlockPendingDependencies> & {
|
10
|
+
[K in _ExcludedPendingDependencies]: never;
|
11
|
+
} & Pick<Block<bigint, TIncludeTransactions, TBlockTag>, BlockPendingDependencies>, _Transactions = TIncludeTransactions extends true ? Prettify<FormattedTransaction<TChain, TBlockTag>>[] : Hash[]> = Omit<_Formatted, 'transactions'> & {
|
12
|
+
transactions: _Transactions;
|
13
|
+
};
|
6
14
|
export declare function formatBlock(block: Partial<RpcBlock>): Block;
|
7
15
|
export declare const defineBlock: <TOverrideParameters, TOverrideReturnType, TExclude extends (keyof RpcBlock)[] = []>({ exclude, format: overrides, }: {
|
8
16
|
exclude?: TExclude | undefined;
|
9
17
|
format: (_: TOverrideParameters) => TOverrideReturnType;
|
10
18
|
}) => {
|
19
|
+
exclude: TExclude | undefined;
|
11
20
|
format: (args: Partial<RpcBlock> & TOverrideParameters) => (import("../../types/utils.js").Assign<Block, TOverrideReturnType> extends infer T ? { [K in keyof T]: import("../../types/utils.js").Assign<Block, TOverrideReturnType>[K]; } : never) & { [K_1 in TExclude[number]]: never; };
|
12
21
|
type: "block";
|
13
22
|
};
|
23
|
+
export {};
|
14
24
|
//# sourceMappingURL=block.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAGpD,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,kBAAkB,CAAA;AAE/E,KAAK,wBAAwB,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEzE,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,oBAAoB,SAAS,OAAO,GAAG,OAAO,EAC9C,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,oBAAoB,GAAG,0BAA0B,CAC/C,MAAM,EACN,OAAO,EACP,KAAK,CAAC,MAAM,EAAE,oBAAoB,CAAC,CACpC,EACD,4BAA4B,SAAS,MAAM,GAAG,wBAAwB,GACpE,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,GAAG;KACjE,CAAC,IAAI,4BAA4B,GAAG,KAAK;CAC3C,GAAG,IAAI,CACJ,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAC9C,wBAAwB,CACzB,EACH,aAAa,GAAG,oBAAoB,SAAS,IAAI,GAC7C,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,GACnD,IAAI,EAAE,IACR,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG;IACrC,YAAY,EAAE,aAAa,CAAA;CAC5B,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,SAsBnD;AAED,eAAO,MAAM,WAAW;;;;;;;CAAsD,CAAA"}
|
@@ -3,6 +3,7 @@ export declare function defineFormatter<TType extends string, TParameters, TRetu
|
|
3
3
|
exclude?: TExclude | undefined;
|
4
4
|
format: (_: TOverrideParameters) => TOverrideReturnType;
|
5
5
|
}) => {
|
6
|
+
exclude: TExclude | undefined;
|
6
7
|
format: (args: TParameters & TOverrideParameters) => (Assign<TReturnType, TOverrideReturnType> extends infer T ? { [K in keyof T]: Assign<TReturnType, TOverrideReturnType>[K]; } : never) & { [K_1 in TExclude[number]]: never; };
|
7
8
|
type: TType;
|
8
9
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAA;AAE5D,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,EAAE,WAAW,EAAE,WAAW,EAC5E,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,WAAW
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAY,MAAM,sBAAsB,CAAA;AAE5D,wBAAgB,eAAe,CAAC,KAAK,SAAS,MAAM,EAAE,WAAW,EAAE,WAAW,EAC5E,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,WAAW;;;;;;;EAgCxC"}
|
@@ -1,8 +1,13 @@
|
|
1
|
+
import type { BlockTag } from '../../types/block.js';
|
1
2
|
import type { Chain } from '../../types/chain.js';
|
2
|
-
import type { ExtractFormatterReturnType } from '../../types/formatter.js';
|
3
|
+
import type { ExtractFormatterExclude, ExtractFormatterReturnType } from '../../types/formatter.js';
|
3
4
|
import type { RpcTransaction } from '../../types/rpc.js';
|
4
5
|
import type { Transaction } from '../../types/transaction.js';
|
5
|
-
|
6
|
+
import type { UnionOmit } from '../../types/utils.js';
|
7
|
+
type TransactionPendingDependencies = 'blockHash' | 'blockNumber' | 'transactionIndex';
|
8
|
+
export type FormattedTransaction<TChain extends Chain | undefined = Chain | undefined, TBlockTag extends BlockTag = BlockTag, _FormatterReturnType = ExtractFormatterReturnType<TChain, 'transaction', Transaction>, _ExcludedPendingDependencies extends string = TransactionPendingDependencies & ExtractFormatterExclude<TChain, 'transaction'>> = UnionOmit<_FormatterReturnType, TransactionPendingDependencies> & {
|
9
|
+
[K in _ExcludedPendingDependencies]: never;
|
10
|
+
} & Pick<Transaction<bigint, number, TBlockTag extends 'pending' ? true : false>, TransactionPendingDependencies>;
|
6
11
|
export declare const transactionType: {
|
7
12
|
readonly '0x0': "legacy";
|
8
13
|
readonly '0x1': "eip2930";
|
@@ -13,7 +18,9 @@ export declare const defineTransaction: <TOverrideParameters, TOverrideReturnTyp
|
|
13
18
|
exclude?: TExclude | undefined;
|
14
19
|
format: (_: TOverrideParameters) => TOverrideReturnType;
|
15
20
|
}) => {
|
16
|
-
|
21
|
+
exclude: TExclude | undefined;
|
22
|
+
format: (args: Partial<RpcTransaction> & TOverrideParameters) => ((import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy">, TOverrideReturnType> & TOverrideReturnType extends infer T ? { [K in keyof T]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionLegacy<bigint, number, boolean, "legacy">, TOverrideReturnType> & TOverrideReturnType)[K]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930">, TOverrideReturnType> & TOverrideReturnType extends infer T_1 ? { [K_1 in keyof T_1]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP2930<bigint, number, boolean, "eip2930">, TOverrideReturnType> & TOverrideReturnType)[K_1]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559">, TOverrideReturnType> & TOverrideReturnType extends infer T_2 ? { [K_2 in keyof T_2]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionEIP1559<bigint, number, boolean, "eip1559">, TOverrideReturnType> & TOverrideReturnType)[K_2]; } : never)) & { [K_3 in TExclude[number]]: never; };
|
17
23
|
type: "transaction";
|
18
24
|
};
|
25
|
+
export {};
|
19
26
|
//# sourceMappingURL=transaction.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAIrD,KAAK,8BAA8B,GAC/B,WAAW,GACX,aAAa,GACb,kBAAkB,CAAA;AAEtB,MAAM,MAAM,oBAAoB,CAC9B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,SAAS,SAAS,QAAQ,GAAG,QAAQ,EACrC,oBAAoB,GAAG,0BAA0B,CAC/C,MAAM,EACN,aAAa,EACb,WAAW,CACZ,EACD,4BAA4B,SAAS,MAAM,GAAG,8BAA8B,GAC1E,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,IAC9C,SAAS,CAAC,oBAAoB,EAAE,8BAA8B,CAAC,GAAG;KACnE,CAAC,IAAI,4BAA4B,GAAG,KAAK;CAC3C,GAAG,IAAI,CACJ,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,SAAS,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,EACvE,8BAA8B,CAC/B,CAAA;AAEH,eAAO,MAAM,eAAe;;;;CAIlB,CAAA;AAEV,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,CAAC,eAqCrE;AAED,eAAO,MAAM,iBAAiB;;;;;;;CAG7B,CAAA"}
|
@@ -8,6 +8,7 @@ export declare const defineTransactionReceipt: <TOverrideParameters, TOverrideRe
|
|
8
8
|
exclude?: TExclude | undefined;
|
9
9
|
format: (_: TOverrideParameters) => TOverrideReturnType;
|
10
10
|
}) => {
|
11
|
+
exclude: TExclude | undefined;
|
11
12
|
format: (args: Partial<RpcTransactionReceipt> & TOverrideParameters) => (import("../../types/utils.js").Assign<TransactionReceipt, TOverrideReturnType> extends infer T ? { [K in keyof T]: import("../../types/utils.js").Assign<TransactionReceipt, TOverrideReturnType>[K]; } : never) & { [K_1 in TExclude[number]]: never; };
|
12
13
|
type: "transactionReceipt";
|
13
14
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionReceipt.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAOpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAOhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,qBAAqB,CAAC,sBAmCnD;AAED,eAAO,MAAM,wBAAwB
|
1
|
+
{"version":3,"file":"transactionReceipt.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionReceipt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAOpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAOhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,qBAAqB,CAAC,sBAmCnD;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAGpC,CAAA"}
|
@@ -8,6 +8,7 @@ export declare const defineTransactionRequest: <TOverrideParameters, TOverrideRe
|
|
8
8
|
exclude?: TExclude | undefined;
|
9
9
|
format: (_: TOverrideParameters) => TOverrideReturnType;
|
10
10
|
}) => {
|
11
|
+
exclude: TExclude | undefined;
|
11
12
|
format: (args: Partial<TransactionRequest> & TOverrideParameters) => ((import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestLegacy<`0x${string}`, `0x${string}`, "0x0">, TOverrideReturnType> & TOverrideReturnType extends infer T ? { [K in keyof T]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestLegacy<`0x${string}`, `0x${string}`, "0x0">, TOverrideReturnType> & TOverrideReturnType)[K]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP2930<`0x${string}`, `0x${string}`, "0x1">, TOverrideReturnType> & TOverrideReturnType extends infer T_1 ? { [K_1 in keyof T_1]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP2930<`0x${string}`, `0x${string}`, "0x1">, TOverrideReturnType> & TOverrideReturnType)[K_1]; } : never) | (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP1559<`0x${string}`, `0x${string}`, "0x2">, TOverrideReturnType> & TOverrideReturnType extends infer T_2 ? { [K_2 in keyof T_2]: (import("../../types/utils.js").Assign_<import("../../types/transaction.js").TransactionRequestEIP1559<`0x${string}`, `0x${string}`, "0x2">, TOverrideReturnType> & TOverrideReturnType)[K_2]; } : never)) & { [K_3 in TExclude[number]]: never; };
|
12
13
|
type: "transactionRequest";
|
13
14
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactionRequest.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAIpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAEhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,yBA6BhD;AAED,eAAO,MAAM,wBAAwB
|
1
|
+
{"version":3,"file":"transactionRequest.d.ts","sourceRoot":"","sources":["../../../../src/utils/formatters/transactionRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAIpE,MAAM,MAAM,2BAA2B,CACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAA;AAEhF,wBAAgB,wBAAwB,CACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,CAAC,yBA6BhD;AAED,eAAO,MAAM,wBAAwB;;;;;;;CAGpC,CAAA"}
|
@@ -25,12 +25,12 @@ export declare function getCache<TData>(cacheKey: string): {
|
|
25
25
|
export type WithCacheParameters = {
|
26
26
|
/** The key to cache the data against. */
|
27
27
|
cacheKey: string;
|
28
|
-
/** The
|
29
|
-
|
28
|
+
/** The time that cached data will remain in memory. Default: Infinity (no expiry) */
|
29
|
+
cacheTime?: number;
|
30
30
|
};
|
31
31
|
/**
|
32
32
|
* @description Returns the result of a given promise, and caches the result for
|
33
33
|
* subsequent invocations against a provided cache key.
|
34
34
|
*/
|
35
|
-
export declare function withCache<TData>(fn: () => Promise<TData>, { cacheKey,
|
35
|
+
export declare function withCache<TData>(fn: () => Promise<TData>, { cacheKey, cacheTime }: WithCacheParameters): Promise<TData>;
|
36
36
|
//# sourceMappingURL=withCache.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withCache.d.ts","sourceRoot":"","sources":["../../../../src/utils/promise/withCache.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAA0B,CAAA;AACnD,eAAO,MAAM,aAAa,eAA0B,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;qBAQP,IAAI;kBAAQ,KAAK;;;qBAAjB,IAAI;kBAAQ,KAAK;;qBAAjB,IAAI;kBAAQ,KAAK;;;EAazD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,
|
1
|
+
{"version":3,"file":"withCache.d.ts","sourceRoot":"","sources":["../../../../src/utils/promise/withCache.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,eAA0B,CAAA;AACnD,eAAO,MAAM,aAAa,eAA0B,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;qBAQP,IAAI;kBAAQ,KAAK;;;qBAAjB,IAAI;kBAAQ,KAAK;;qBAAjB,IAAI;kBAAQ,KAAK;;;EAazD;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,KAAK,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,EACxB,EAAE,QAAQ,EAAE,SAAoB,EAAE,EAAE,mBAAmB,kBAmCxD"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type { Hex, Signature } from '../../types/misc.js';
|
2
|
+
/**
|
3
|
+
* @description Parses a hex formatted signature into a structured signature.
|
4
|
+
*
|
5
|
+
* @param signatureHex Signature in hex format.
|
6
|
+
* @returns The structured signature.
|
7
|
+
*
|
8
|
+
* @example
|
9
|
+
* hexToSignature('0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c')
|
10
|
+
* // { r: '0x...', s: '0x...', v: 28n }
|
11
|
+
*/
|
12
|
+
export declare function hexToSignature(signatureHex: Hex): Signature;
|
13
|
+
//# sourceMappingURL=hexToSignature.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"hexToSignature.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/hexToSignature.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAGzD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,GAAG,GAAG,SAAS,CAI3D"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { Hex, Signature } from '../../types/misc.js';
|
2
|
+
/**
|
3
|
+
* @description Converts a signature into hex format.
|
4
|
+
*
|
5
|
+
* @param signature The signature to convert.
|
6
|
+
* @returns The signature in hex format.
|
7
|
+
*
|
8
|
+
* @example
|
9
|
+
* signatureToHex({
|
10
|
+
* r: '0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf',
|
11
|
+
* s: '0x4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db8',
|
12
|
+
* v: 28n
|
13
|
+
* })
|
14
|
+
* // "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c"
|
15
|
+
*/
|
16
|
+
export declare function signatureToHex({ r, s, v }: Signature): Hex;
|
17
|
+
//# sourceMappingURL=signatureToHex.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"signatureToHex.d.ts","sourceRoot":"","sources":["../../../../src/utils/signature/signatureToHex.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIzD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,GAAG,CAK1D"}
|
package/package.json
CHANGED
package/src/accounts/index.ts
CHANGED
@@ -17,7 +17,7 @@ export type {
|
|
17
17
|
PrivateKeyAccount,
|
18
18
|
} from './types.js'
|
19
19
|
export { type SignParameters, type SignReturnType, sign } from './utils/sign.js'
|
20
|
-
export { signatureToHex } from '
|
20
|
+
export { signatureToHex } from '../utils/signature/signatureToHex.js'
|
21
21
|
export {
|
22
22
|
type SignMessageParameters,
|
23
23
|
type SignMessageReturnType,
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { Hex, SignableMessage } from '../../types/misc.js'
|
2
2
|
import { hashMessage } from '../../utils/signature/hashMessage.js'
|
3
|
+
import { signatureToHex } from '../../utils/signature/signatureToHex.js'
|
3
4
|
|
4
5
|
import { sign } from './sign.js'
|
5
|
-
import { signatureToHex } from './signatureToHex.js'
|
6
6
|
|
7
7
|
export type SignMessageParameters = {
|
8
8
|
/** The message to sign. */
|
@@ -6,9 +6,9 @@ import {
|
|
6
6
|
type HashTypedDataParameters,
|
7
7
|
hashTypedData,
|
8
8
|
} from '../../utils/signature/hashTypedData.js'
|
9
|
+
import { signatureToHex } from '../../utils/signature/signatureToHex.js'
|
9
10
|
|
10
11
|
import { sign } from './sign.js'
|
11
|
-
import { signatureToHex } from './signatureToHex.js'
|
12
12
|
|
13
13
|
export type SignTypedDataParameters<
|
14
14
|
TTypedData extends TypedData | { [key: string]: unknown } = TypedData,
|
@@ -9,6 +9,7 @@ import type {
|
|
9
9
|
MaybeExtractEventArgsFromAbi,
|
10
10
|
} from '../../types/contract.js'
|
11
11
|
import type { Filter } from '../../types/filter.js'
|
12
|
+
import type { Hex } from '../../types/misc.js'
|
12
13
|
import {
|
13
14
|
type EncodeEventTopicsParameters,
|
14
15
|
encodeEventTopics,
|
@@ -23,17 +24,19 @@ export type CreateContractEventFilterParameters<
|
|
23
24
|
| MaybeExtractEventArgsFromAbi<TAbi, TEventName>
|
24
25
|
| undefined = undefined,
|
25
26
|
TStrict extends boolean | undefined = undefined,
|
27
|
+
TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
|
28
|
+
TToBlock extends BlockNumber | BlockTag | undefined = undefined,
|
26
29
|
> = {
|
27
30
|
address?: Address | Address[]
|
28
31
|
abi: Narrow<TAbi>
|
29
32
|
eventName?: InferEventName<TAbi, TEventName>
|
30
|
-
fromBlock?: BlockNumber | BlockTag
|
33
|
+
fromBlock?: TFromBlock | BlockNumber | BlockTag
|
31
34
|
/**
|
32
35
|
* Whether or not the logs must match the indexed/non-indexed arguments in the event ABI item.
|
33
36
|
* @default false
|
34
37
|
*/
|
35
38
|
strict?: TStrict
|
36
|
-
toBlock?: BlockNumber | BlockTag
|
39
|
+
toBlock?: TToBlock | BlockNumber | BlockTag
|
37
40
|
} & (undefined extends TEventName
|
38
41
|
? {
|
39
42
|
args?: never
|
@@ -56,7 +59,9 @@ export type CreateContractEventFilterReturnType<
|
|
56
59
|
| MaybeExtractEventArgsFromAbi<TAbi, TEventName>
|
57
60
|
| undefined = undefined,
|
58
61
|
TStrict extends boolean | undefined = undefined,
|
59
|
-
|
62
|
+
TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
|
63
|
+
TToBlock extends BlockNumber | BlockTag | undefined = undefined,
|
64
|
+
> = Filter<'event', TAbi, TEventName, TArgs, TStrict, TFromBlock, TToBlock>
|
60
65
|
|
61
66
|
/**
|
62
67
|
* Creates a Filter to retrieve event logs that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html) or [`getFilterLogs`](https://viem.sh/docs/actions/public/getFilterLogs.html).
|
@@ -86,6 +91,8 @@ export async function createContractEventFilter<
|
|
86
91
|
TEventName extends string | undefined,
|
87
92
|
TArgs extends MaybeExtractEventArgsFromAbi<TAbi, TEventName> | undefined,
|
88
93
|
TStrict extends boolean | undefined = undefined,
|
94
|
+
TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
|
95
|
+
TToBlock extends BlockNumber | BlockTag | undefined = undefined,
|
89
96
|
>(
|
90
97
|
client: Client<Transport, TChain>,
|
91
98
|
{
|
@@ -96,9 +103,23 @@ export async function createContractEventFilter<
|
|
96
103
|
fromBlock,
|
97
104
|
strict,
|
98
105
|
toBlock,
|
99
|
-
}: CreateContractEventFilterParameters<
|
106
|
+
}: CreateContractEventFilterParameters<
|
107
|
+
TAbi,
|
108
|
+
TEventName,
|
109
|
+
TArgs,
|
110
|
+
TStrict,
|
111
|
+
TFromBlock,
|
112
|
+
TToBlock
|
113
|
+
>,
|
100
114
|
): Promise<
|
101
|
-
CreateContractEventFilterReturnType<
|
115
|
+
CreateContractEventFilterReturnType<
|
116
|
+
TAbi,
|
117
|
+
TEventName,
|
118
|
+
TArgs,
|
119
|
+
TStrict,
|
120
|
+
TFromBlock,
|
121
|
+
TToBlock
|
122
|
+
>
|
102
123
|
> {
|
103
124
|
const getRequest = createFilterRequestScope(client, {
|
104
125
|
method: 'eth_newFilter',
|
@@ -111,7 +132,7 @@ export async function createContractEventFilter<
|
|
111
132
|
eventName,
|
112
133
|
} as unknown as EncodeEventTopicsParameters)
|
113
134
|
: undefined
|
114
|
-
const id = await client.request({
|
135
|
+
const id: Hex = await client.request({
|
115
136
|
method: 'eth_newFilter',
|
116
137
|
params: [
|
117
138
|
{
|
@@ -136,6 +157,8 @@ export async function createContractEventFilter<
|
|
136
157
|
TAbi,
|
137
158
|
TEventName,
|
138
159
|
TArgs,
|
139
|
-
TStrict
|
160
|
+
TStrict,
|
161
|
+
TFromBlock,
|
162
|
+
TToBlock
|
140
163
|
>
|
141
164
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type {
|
1
|
+
import type { AbiEvent, Address, Narrow } from 'abitype'
|
2
2
|
|
3
3
|
import type { Client } from '../../clients/createClient.js'
|
4
4
|
import type { Transport } from '../../clients/transports/createTransport.js'
|
@@ -9,7 +9,7 @@ import type {
|
|
9
9
|
MaybeExtractEventArgsFromAbi,
|
10
10
|
} from '../../types/contract.js'
|
11
11
|
import type { Filter } from '../../types/filter.js'
|
12
|
-
import type { LogTopic } from '../../types/misc.js'
|
12
|
+
import type { Hex, LogTopic } from '../../types/misc.js'
|
13
13
|
import type { Prettify } from '../../types/utils.js'
|
14
14
|
import {
|
15
15
|
type EncodeEventTopicsParameters,
|
@@ -20,18 +20,23 @@ import { createFilterRequestScope } from '../../utils/filters/createFilterReques
|
|
20
20
|
|
21
21
|
export type CreateEventFilterParameters<
|
22
22
|
TAbiEvent extends AbiEvent | undefined = undefined,
|
23
|
+
TAbiEvents extends
|
24
|
+
| readonly AbiEvent[]
|
25
|
+
| readonly unknown[]
|
26
|
+
| undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
|
23
27
|
TStrict extends boolean | undefined = undefined,
|
24
|
-
|
28
|
+
TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
|
29
|
+
TToBlock extends BlockNumber | BlockTag | undefined = undefined,
|
25
30
|
_EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
|
26
31
|
_Args extends
|
27
|
-
| MaybeExtractEventArgsFromAbi<
|
32
|
+
| MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName>
|
28
33
|
| undefined = undefined,
|
29
34
|
> = {
|
30
35
|
address?: Address | Address[]
|
31
|
-
fromBlock?: BlockNumber | BlockTag
|
32
|
-
toBlock?: BlockNumber | BlockTag
|
36
|
+
fromBlock?: TFromBlock | BlockNumber | BlockTag
|
37
|
+
toBlock?: TToBlock | BlockNumber | BlockTag
|
33
38
|
} & (MaybeExtractEventArgsFromAbi<
|
34
|
-
|
39
|
+
TAbiEvents,
|
35
40
|
_EventName
|
36
41
|
> extends infer TEventFilterArgs
|
37
42
|
?
|
@@ -40,6 +45,7 @@ export type CreateEventFilterParameters<
|
|
40
45
|
| TEventFilterArgs
|
41
46
|
| (_Args extends TEventFilterArgs ? _Args : never)
|
42
47
|
event: Narrow<TAbiEvent>
|
48
|
+
events?: never
|
43
49
|
/**
|
44
50
|
* Whether or not the logs must match the indexed/non-indexed arguments on `event`.
|
45
51
|
* @default false
|
@@ -49,6 +55,7 @@ export type CreateEventFilterParameters<
|
|
49
55
|
| {
|
50
56
|
args?: never
|
51
57
|
event?: Narrow<TAbiEvent>
|
58
|
+
events?: never
|
52
59
|
/**
|
53
60
|
* Whether or not the logs must match the indexed/non-indexed arguments on `event`.
|
54
61
|
* @default false
|
@@ -58,23 +65,42 @@ export type CreateEventFilterParameters<
|
|
58
65
|
| {
|
59
66
|
args?: never
|
60
67
|
event?: never
|
68
|
+
events: Narrow<TAbiEvents>
|
69
|
+
/**
|
70
|
+
* Whether or not the logs must match the indexed/non-indexed arguments on `event`.
|
71
|
+
* @default false
|
72
|
+
*/
|
73
|
+
strict?: TStrict
|
74
|
+
}
|
75
|
+
| {
|
76
|
+
args?: never
|
77
|
+
event?: never
|
78
|
+
events?: never
|
61
79
|
strict?: never
|
62
80
|
}
|
63
81
|
: {
|
64
82
|
args?: never
|
65
83
|
event?: never
|
84
|
+
events?: never
|
66
85
|
strict?: never
|
67
86
|
})
|
68
87
|
|
69
88
|
export type CreateEventFilterReturnType<
|
70
89
|
TAbiEvent extends AbiEvent | undefined = undefined,
|
90
|
+
TAbiEvents extends
|
91
|
+
| readonly AbiEvent[]
|
92
|
+
| readonly unknown[]
|
93
|
+
| undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
|
71
94
|
TStrict extends boolean | undefined = undefined,
|
72
|
-
|
95
|
+
TFromBlock extends BlockNumber | BlockTag | undefined = undefined,
|
96
|
+
TToBlock extends BlockNumber | BlockTag | undefined = undefined,
|
73
97
|
_EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
|
74
98
|
_Args extends
|
75
|
-
| MaybeExtractEventArgsFromAbi<
|
99
|
+
| MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName>
|
76
100
|
| undefined = undefined,
|
77
|
-
> = Prettify<
|
101
|
+
> = Prettify<
|
102
|
+
Filter<'event', TAbiEvents, _EventName, _Args, TStrict, TFromBlock, TToBlock>
|
103
|
+
>
|
78
104
|
|
79
105
|
/**
|
80
106
|
* Creates a [`Filter`](https://viem.sh/docs/glossary/types.html#filter) to listen for new events that can be used with [`getFilterChanges`](https://viem.sh/docs/actions/public/getFilterChanges.html).
|
@@ -101,12 +127,17 @@ export type CreateEventFilterReturnType<
|
|
101
127
|
*/
|
102
128
|
export async function createEventFilter<
|
103
129
|
TChain extends Chain | undefined,
|
104
|
-
TAbiEvent extends AbiEvent | undefined,
|
130
|
+
TAbiEvent extends AbiEvent | undefined = undefined,
|
131
|
+
TAbiEvents extends
|
132
|
+
| readonly AbiEvent[]
|
133
|
+
| readonly unknown[]
|
134
|
+
| undefined = TAbiEvent extends AbiEvent ? [TAbiEvent] : undefined,
|
105
135
|
TStrict extends boolean | undefined = undefined,
|
106
|
-
|
136
|
+
TFromBlock extends BlockNumber<bigint> | BlockTag | undefined = undefined,
|
137
|
+
TToBlock extends BlockNumber<bigint> | BlockTag | undefined = undefined,
|
107
138
|
_EventName extends string | undefined = MaybeAbiEventName<TAbiEvent>,
|
108
139
|
_Args extends
|
109
|
-
| MaybeExtractEventArgsFromAbi<
|
140
|
+
| MaybeExtractEventArgsFromAbi<TAbiEvents, _EventName>
|
110
141
|
| undefined = undefined,
|
111
142
|
>(
|
112
143
|
client: Client<Transport, TChain>,
|
@@ -114,32 +145,51 @@ export async function createEventFilter<
|
|
114
145
|
address,
|
115
146
|
args,
|
116
147
|
event,
|
148
|
+
events: events_,
|
117
149
|
fromBlock,
|
118
150
|
strict,
|
119
151
|
toBlock,
|
120
152
|
}: CreateEventFilterParameters<
|
121
153
|
TAbiEvent,
|
154
|
+
TAbiEvents,
|
122
155
|
TStrict,
|
123
|
-
|
156
|
+
TFromBlock,
|
157
|
+
TToBlock,
|
124
158
|
_EventName,
|
125
159
|
_Args
|
126
160
|
> = {} as any,
|
127
161
|
): Promise<
|
128
|
-
CreateEventFilterReturnType<
|
162
|
+
CreateEventFilterReturnType<
|
163
|
+
TAbiEvent,
|
164
|
+
TAbiEvents,
|
165
|
+
TStrict,
|
166
|
+
TFromBlock,
|
167
|
+
TToBlock,
|
168
|
+
_EventName,
|
169
|
+
_Args
|
170
|
+
>
|
129
171
|
> {
|
172
|
+
const events = events_ ?? (event ? [event] : undefined)
|
173
|
+
|
130
174
|
const getRequest = createFilterRequestScope(client, {
|
131
175
|
method: 'eth_newFilter',
|
132
176
|
})
|
133
177
|
|
134
178
|
let topics: LogTopic[] = []
|
135
|
-
if (
|
136
|
-
topics =
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
179
|
+
if (events) {
|
180
|
+
topics = [
|
181
|
+
(events as AbiEvent[]).flatMap((event) =>
|
182
|
+
encodeEventTopics({
|
183
|
+
abi: [event],
|
184
|
+
eventName: (event as AbiEvent).name,
|
185
|
+
args,
|
186
|
+
} as EncodeEventTopicsParameters),
|
187
|
+
),
|
188
|
+
]
|
189
|
+
if (event) topics = topics[0] as LogTopic[]
|
190
|
+
}
|
141
191
|
|
142
|
-
const id = await client.request({
|
192
|
+
const id: Hex = await client.request({
|
143
193
|
method: 'eth_newFilter',
|
144
194
|
params: [
|
145
195
|
{
|
@@ -153,17 +203,21 @@ export async function createEventFilter<
|
|
153
203
|
})
|
154
204
|
|
155
205
|
return {
|
156
|
-
abi:
|
206
|
+
abi: events,
|
157
207
|
args,
|
158
208
|
eventName: event ? (event as AbiEvent).name : undefined,
|
209
|
+
fromBlock,
|
159
210
|
id,
|
160
211
|
request: getRequest(id),
|
161
212
|
strict,
|
213
|
+
toBlock,
|
162
214
|
type: 'event',
|
163
215
|
} as unknown as CreateEventFilterReturnType<
|
164
216
|
TAbiEvent,
|
217
|
+
TAbiEvents,
|
165
218
|
TStrict,
|
166
|
-
|
219
|
+
TFromBlock,
|
220
|
+
TToBlock,
|
167
221
|
_EventName,
|
168
222
|
_Args
|
169
223
|
>
|