viem 0.0.0-main.20230904T144841 → 0.0.0-main.20230904T213151
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/errors/version.js +1 -1
- package/dist/cjs/utils/abi/getAbiItem.js +14 -1
- package/dist/cjs/utils/abi/getAbiItem.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/utils/abi/getAbiItem.js +14 -1
- package/dist/esm/utils/abi/getAbiItem.js.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/utils/abi/getAbiItem.d.ts +2 -1
- package/dist/types/utils/abi/getAbiItem.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/errors/version.ts +1 -1
- package/src/utils/abi/getAbiItem.ts +16 -2
@@ -1,9 +1,22 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.isArgOfType = exports.getAbiItem = void 0;
|
4
|
+
const isHex_js_1 = require("../../utils/data/isHex.js");
|
5
|
+
const getEventSelector_js_1 = require("../../utils/hash/getEventSelector.js");
|
6
|
+
const getFunctionSelector_js_1 = require("../../utils/hash/getFunctionSelector.js");
|
4
7
|
const isAddress_js_1 = require("../address/isAddress.js");
|
5
8
|
function getAbiItem({ abi, args = [], name, }) {
|
6
|
-
const
|
9
|
+
const isSelector = (0, isHex_js_1.isHex)(name, { strict: false });
|
10
|
+
const abiItems = abi.filter((abiItem) => {
|
11
|
+
if (isSelector) {
|
12
|
+
if (abiItem.type === 'function')
|
13
|
+
return (0, getFunctionSelector_js_1.getFunctionSelector)(abiItem) === name;
|
14
|
+
if (abiItem.type === 'event')
|
15
|
+
return (0, getEventSelector_js_1.getEventSelector)(abiItem) === name;
|
16
|
+
return false;
|
17
|
+
}
|
18
|
+
return 'name' in abiItem && abiItem.name === name;
|
19
|
+
});
|
7
20
|
if (abiItems.length === 0)
|
8
21
|
return undefined;
|
9
22
|
if (abiItems.length === 1)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getAbiItem.js","sourceRoot":"","sources":["../../../../src/utils/abi/getAbiItem.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"getAbiItem.js","sourceRoot":"","sources":["../../../../src/utils/abi/getAbiItem.ts"],"names":[],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = '0.0.0-main.
|
1
|
+
export const version = '0.0.0-main.20230904T213151';
|
2
2
|
//# sourceMappingURL=version.js.map
|
@@ -1,6 +1,19 @@
|
|
1
|
+
import { isHex } from '../../utils/data/isHex.js';
|
2
|
+
import { getEventSelector } from '../../utils/hash/getEventSelector.js';
|
3
|
+
import { getFunctionSelector } from '../../utils/hash/getFunctionSelector.js';
|
1
4
|
import { isAddress } from '../address/isAddress.js';
|
2
5
|
export function getAbiItem({ abi, args = [], name, }) {
|
3
|
-
const
|
6
|
+
const isSelector = isHex(name, { strict: false });
|
7
|
+
const abiItems = abi.filter((abiItem) => {
|
8
|
+
if (isSelector) {
|
9
|
+
if (abiItem.type === 'function')
|
10
|
+
return getFunctionSelector(abiItem) === name;
|
11
|
+
if (abiItem.type === 'event')
|
12
|
+
return getEventSelector(abiItem) === name;
|
13
|
+
return false;
|
14
|
+
}
|
15
|
+
return 'name' in abiItem && abiItem.name === name;
|
16
|
+
});
|
4
17
|
if (abiItems.length === 0)
|
5
18
|
return undefined;
|
6
19
|
if (abiItems.length === 1)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getAbiItem.js","sourceRoot":"","sources":["../../../../src/utils/abi/getAbiItem.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"getAbiItem.js","sourceRoot":"","sources":["../../../../src/utils/abi/getAbiItem.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAoBnD,MAAM,UAAU,UAAU,CAGxB,EACA,GAAG,EACH,IAAI,GAAG,EAAE,EACT,IAAI,GACkC;IAItC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAEjD,MAAM,QAAQ,GAAI,GAAW,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/C,IAAI,UAAU,EAAE;YACd,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;gBAC7B,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;YAC9C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;gBAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;YACvE,OAAO,KAAK,CAAA;SACb;QACD,OAAO,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAA;IACnD,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAgB,CAAA;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAQ,CAAA;IAEpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;YAAE,SAAQ;QACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,OAAc,CAAA;YACzE,SAAQ;SACT;QACD,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,SAAQ;QAC7B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QACzC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAAE,SAAQ;QACnD,MAAM,OAAO,GAAI,IAA2B,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAChE,MAAM,YAAY,GAAG,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAO,CAAC,KAAK,CAAC,CAAA;YAClE,IAAI,CAAC,YAAY;gBAAE,OAAO,KAAK,CAAA;YAC/B,OAAO,WAAW,CAAC,GAAG,EAAE,YAA4B,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;QACF,IAAI,OAAO;YAAE,OAAO,OAAc,CAAA;KACnC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAQ,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,YAA0B;IAClE,MAAM,OAAO,GAAG,OAAO,GAAG,CAAA;IAC1B,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAA;IAC1C,QAAQ,gBAAgB,EAAE;QACxB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC,GAAc,CAAC,CAAA;QAClC,KAAK,MAAM;YACT,OAAO,OAAO,KAAK,SAAS,CAAA;QAC9B,KAAK,UAAU;YACb,OAAO,OAAO,KAAK,QAAQ,CAAA;QAC7B,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,QAAQ,CAAA;QAC7B,OAAO,CAAC,CAAC;YACP,IAAI,gBAAgB,KAAK,OAAO,IAAI,YAAY,IAAI,YAAY;gBAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,KAAK,CACjD,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;oBACnB,OAAO,WAAW,CAChB,MAAM,CAAC,MAAM,CAAC,GAA0C,CAAC,CAAC,KAAK,CAAC,EAChE,SAAyB,CAC1B,CAAA;gBACH,CAAC,CACF,CAAA;YAEH,iFAAiF;YACjF,2BAA2B;YAC3B,IACE,8HAA8H,CAAC,IAAI,CACjI,gBAAgB,CACjB;gBAED,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,CAAA;YAErD,sDAAsD;YACtD,2BAA2B;YAC3B,IAAI,sCAAsC,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC/D,OAAO,OAAO,KAAK,QAAQ,IAAI,GAAG,YAAY,UAAU,CAAA;YAE1D,6DAA6D;YAC7D,2BAA2B;YAC3B,IAAI,mCAAmC,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBAC9D,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAClB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CACvB,WAAW,CAAC,CAAC,EAAE;wBACb,GAAG,YAAY;wBACf,yCAAyC;wBACzC,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;qBACvC,CAAC,CACnB,CACF,CAAA;aACF;YAED,OAAO,KAAK,CAAA;SACb;KACF;AACH,CAAC"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "0.0.0-main.
|
1
|
+
export declare const version = "0.0.0-main.20230904T213151";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import type { Abi, AbiParameter } from 'abitype';
|
2
2
|
import type { GetFunctionArgs, InferItemName } from '../../types/contract.js';
|
3
|
+
import type { Hex } from '../../types/misc.js';
|
3
4
|
export type GetAbiItemParameters<TAbi extends Abi | readonly unknown[] = Abi, TItemName extends string = string> = {
|
4
5
|
abi: TAbi;
|
5
|
-
name: InferItemName<TAbi, TItemName
|
6
|
+
name: InferItemName<TAbi, TItemName> | Hex;
|
6
7
|
} & Partial<GetFunctionArgs<TAbi, TItemName>>;
|
7
8
|
export type GetAbiItemReturnType<TAbi extends Abi | readonly unknown[] = Abi, TItemName extends string = string> = Extract<TAbi[number], {
|
8
9
|
name: TItemName;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getAbiItem.d.ts","sourceRoot":"","sources":["../../../../src/utils/abi/getAbiItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAW,MAAM,SAAS,CAAA;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;
|
1
|
+
{"version":3,"file":"getAbiItem.d.ts","sourceRoot":"","sources":["../../../../src/utils/abi/getAbiItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAW,MAAM,SAAS,CAAA;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAM9C,MAAM,MAAM,oBAAoB,CAC9B,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,SAAS,SAAS,MAAM,GAAG,MAAM,IAC/B;IACF,GAAG,EAAE,IAAI,CAAA;IACT,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG,CAAA;CAC3C,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;AAE7C,MAAM,MAAM,oBAAoB,CAC9B,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,SAAS,SAAS,MAAM,GAAG,MAAM,IAC/B,OAAO,CACT,IAAI,CAAC,MAAM,CAAC,EACZ;IACE,IAAI,EAAE,SAAS,CAAA;CAChB,CACF,CAAA;AAED,wBAAgB,UAAU,CACxB,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,SAAS,SAAS,MAAM,EACxB,EACA,GAAG,EACH,IAAS,EACT,IAAI,GACL,EAAE,oBAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,oBAAoB,CAC7D,IAAI,EACJ,SAAS,CACV,CAiCA;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAuD7E"}
|
package/package.json
CHANGED
package/src/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '0.0.0-main.
|
1
|
+
export const version = '0.0.0-main.20230904T213151'
|
@@ -1,6 +1,10 @@
|
|
1
1
|
import type { Abi, AbiParameter, Address } from 'abitype'
|
2
2
|
|
3
3
|
import type { GetFunctionArgs, InferItemName } from '../../types/contract.js'
|
4
|
+
import type { Hex } from '../../types/misc.js'
|
5
|
+
import { isHex } from '../../utils/data/isHex.js'
|
6
|
+
import { getEventSelector } from '../../utils/hash/getEventSelector.js'
|
7
|
+
import { getFunctionSelector } from '../../utils/hash/getFunctionSelector.js'
|
4
8
|
import { isAddress } from '../address/isAddress.js'
|
5
9
|
|
6
10
|
export type GetAbiItemParameters<
|
@@ -8,7 +12,7 @@ export type GetAbiItemParameters<
|
|
8
12
|
TItemName extends string = string,
|
9
13
|
> = {
|
10
14
|
abi: TAbi
|
11
|
-
name: InferItemName<TAbi, TItemName>
|
15
|
+
name: InferItemName<TAbi, TItemName> | Hex
|
12
16
|
} & Partial<GetFunctionArgs<TAbi, TItemName>>
|
13
17
|
|
14
18
|
export type GetAbiItemReturnType<
|
@@ -32,7 +36,17 @@ export function getAbiItem<
|
|
32
36
|
TAbi,
|
33
37
|
TItemName
|
34
38
|
> {
|
35
|
-
const
|
39
|
+
const isSelector = isHex(name, { strict: false })
|
40
|
+
|
41
|
+
const abiItems = (abi as Abi).filter((abiItem) => {
|
42
|
+
if (isSelector) {
|
43
|
+
if (abiItem.type === 'function')
|
44
|
+
return getFunctionSelector(abiItem) === name
|
45
|
+
if (abiItem.type === 'event') return getEventSelector(abiItem) === name
|
46
|
+
return false
|
47
|
+
}
|
48
|
+
return 'name' in abiItem && abiItem.name === name
|
49
|
+
})
|
36
50
|
|
37
51
|
if (abiItems.length === 0) return undefined as any
|
38
52
|
if (abiItems.length === 1) return abiItems[0] as any
|