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.
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = '0.0.0-main.20230904T144841';
4
+ exports.version = '0.0.0-main.20230904T213151';
5
5
  //# sourceMappingURL=version.js.map
@@ -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 abiItems = abi.filter((x) => 'name' in x && x.name === name);
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":"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"}
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.20230904T144841';
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 abiItems = abi.filter((x) => 'name' in x && x.name === name);
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":"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"}
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 declare const version = "0.0.0-main.20230904T144841";
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;AAG7E,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,CAAA;CACrC,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,CAuBA;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAuD7E"}
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
@@ -20,7 +20,7 @@
20
20
  "optional": true
21
21
  }
22
22
  },
23
- "version": "0.0.0-main.20230904T144841",
23
+ "version": "0.0.0-main.20230904T213151",
24
24
  "files": [
25
25
  "dist",
26
26
  "!dist/**/*.tsbuildinfo",
@@ -1 +1 @@
1
- export const version = '0.0.0-main.20230904T144841'
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 abiItems = (abi as Abi).filter((x) => 'name' in x && x.name === name)
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