@rocketh/core 0.17.14 → 0.17.16

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.
@@ -7,7 +7,7 @@ export declare function mergeABIs(list: {
7
7
  name: string;
8
8
  abi: Abi;
9
9
  }[], options?: {
10
- doNotCheckForConflicts?: boolean;
10
+ checkForConflicts?: boolean | string[];
11
11
  }): {
12
12
  mergedABI: (import("abitype").AbiConstructor | import("abitype").AbiError | import("abitype").AbiEvent | import("abitype").AbiFallback | import("abitype").AbiFunction | import("abitype").AbiReceive)[];
13
13
  added: Map<string, import("abitype").AbiConstructor | import("abitype").AbiError | import("abitype").AbiEvent | import("abitype").AbiFallback | import("abitype").AbiFunction | import("abitype").AbiReceive>;
@@ -23,7 +23,7 @@ export declare function mergeArtifacts(list: {
23
23
  abi: Abi;
24
24
  };
25
25
  }[], options?: {
26
- doNotCheckForConflicts?: boolean;
26
+ checkForConflicts?: boolean | string[];
27
27
  }): {
28
28
  mergedABI: (import("abitype").AbiConstructor | import("abitype").AbiError | import("abitype").AbiEvent | import("abitype").AbiFallback | import("abitype").AbiFunction | import("abitype").AbiReceive)[];
29
29
  added: Map<string, import("abitype").AbiConstructor | import("abitype").AbiError | import("abitype").AbiEvent | import("abitype").AbiFallback | import("abitype").AbiFunction | import("abitype").AbiReceive>;
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,YAAY,CAAC;AAG1D,KAAK,aAAa,CAAC,IAAI,IAAI;IAC1B,CAAC,UAAU,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;CAClD,CAAC;AA6CF,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAC;;;;eAG5D,MAAM;mBAAa,MAAM;sBAAgB,MAAM;;EAmE1F;AAED,wBAAgB,cAAc,CAC7B,IAAI,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAA;CAAC,EAAE,EACrE,OAAO,CAAC,EAAE;IAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;CAAC;;;;;;eAvED,MAAM;mBAAa,MAAM;sBAAgB,MAAM;;EAyH1F"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,YAAY,CAAC;AAG1D,KAAK,aAAa,CAAC,IAAI,IAAI;IAC1B,CAAC,UAAU,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;CAClD,CAAC;AA6CF,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;IAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;CAAC;;;;eAGlE,MAAM;mBAAa,MAAM;sBAAgB,MAAM;;EAuE1F;AAED,wBAAgB,cAAc,CAC7B,IAAI,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG;QAAC,GAAG,EAAE,GAAG,CAAA;KAAC,CAAA;CAAC,EAAE,EACrE,OAAO,CAAC,EAAE;IAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAAA;CAAC;;;;;;eA3EP,MAAM;mBAAa,MAAM;sBAAgB,MAAM;;EA6H1F"}
package/dist/artifacts.js CHANGED
@@ -41,6 +41,9 @@ export function mergeABIs(list, options) {
41
41
  const added = new Map();
42
42
  const mergedABI = [];
43
43
  const sigJSMap = new Map();
44
+ // we default to check for conflict unless it is explicity set to false
45
+ const checkForConflicts = options?.checkForConflicts !== undefined ? !!options.checkForConflicts : true;
46
+ const ignoreList = typeof options?.checkForConflicts === 'object' ? options.checkForConflicts : [];
44
47
  for (let i = 0; i < list.length; i++) {
45
48
  const listElem = list[i];
46
49
  for (const element of listElem.abi) {
@@ -48,7 +51,7 @@ export function mergeABIs(list, options) {
48
51
  // const selector = getFunctionSelector(element);
49
52
  const selector = toFunctionSelector(element);
50
53
  if (sigJSMap.has(selector)) {
51
- if (!options?.doNotCheckForConflicts) {
54
+ if (checkForConflicts && !ignoreList.includes(element.name)) {
52
55
  const existing = sigJSMap.get(selector);
53
56
  throw new Error(`ABI conflict: ${existing.routeName} has function "${existing.functionName}" which conflict with ${listElem.name}'s "${element.name}" (selector: "${selector}") `);
54
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAC,MAAM,MAAM,CAAC;AAUxC,yEAAyE;AACzE,SAAS,SAAS,CAAC,IAAS,EAAE,IAAS;IACtC,UAAU;IACV,SAAS,QAAQ,CAAC,GAAQ;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACd,CAAC;QACD,KAAK,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxC,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,MAAW,EAAE,aAAkB,EAAE,KAAa;IAC/D,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,eAAe,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACpG,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,eAAe,SAAS,IAAI,CAAC,CAAC;YAC3D,CAAC;YACD,eAAe,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;AACF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAgC,EAAE,OAAkD;IAC7G,MAAM,KAAK,GAAmC,IAAI,GAAG,EAAE,CAAC;IACxD,MAAM,SAAS,GAAuB,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAiF,IAAI,GAAG,EAAE,CAAC;IAEzG,uEAAuE;IACvE,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,MAAM,UAAU,GAAG,OAAO,OAAO,EAAE,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IACnG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjC,iDAAiD;gBACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,IAAI,iBAAiB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACxC,MAAM,IAAI,KAAK,CACd,iBAAiB,QAAS,CAAC,SAAS,kBAAkB,QAAS,CAAC,YAAY,yBAC3E,QAAQ,CAAC,IACV,OAAO,OAAO,CAAC,IAAI,iBAAiB,QAAQ,MAAM,CAClD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACP,SAAS;oBACV,CAAC;gBACF,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAC,CAAC,CAAC;gBAEzF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACZ,qBAAqB;gBACtB,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC3C,aAAa;YACd,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACZ,qBAAqB;gBACtB,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACZ,qBAAqB;gBACtB,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACzC,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACP,2BAA2B;gBAC3B,2CAA2C;gBAC3C,iBAAiB;gBACjB,0BAA0B;gBAC1B,YAAY;gBACZ,sCAAsC;gBACtC,6BAA6B;gBAC7B,KAAK;gBACL,IAAI;YACL,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO;QACN,SAAS;QACT,KAAK;QACL,QAAQ;KACR,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAC7B,IAAqE,EACrE,OAAkD;IAElD,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,SAAS,CAC7C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAC,CAAC,CAAC,EACtD,OAAO,CACP,CAAC;IAEF,MAAM,aAAa,GAA0B,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;IACpF,MAAM,cAAc,GAA2B,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAC,CAAC;IAEvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxC,IAAI,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC1C,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC1C,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC5C,CAAC;gBACD,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrC,IAAI,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAChE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC3C,CAAC;gBACD,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACpC,CAAC;QACF,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC7C,CAAC;gBACD,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxC,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO;QACN,SAAS;QACT,KAAK;QACL,aAAa;QACb,cAAc;QACd,QAAQ;KACR,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocketh/core",
3
- "version": "0.17.14",
3
+ "version": "0.17.16",
4
4
  "description": "utilities for other rocketh packages",
5
5
  "keywords": [
6
6
  "rocketh",
package/src/artifacts.ts CHANGED
@@ -49,10 +49,14 @@ function mergeDoc(values: any, mergedDevDocs: any, field: string) {
49
49
  }
50
50
  }
51
51
 
52
- export function mergeABIs(list: {name: string; abi: Abi}[], options?: {doNotCheckForConflicts?: boolean}) {
52
+ export function mergeABIs(list: {name: string; abi: Abi}[], options?: {checkForConflicts?: boolean | string[]}) {
53
53
  const added: Map<string, ArrayElement<Abi>> = new Map();
54
54
  const mergedABI: CreateMutable<Abi> = [];
55
55
  const sigJSMap: Map<`0x${string}`, {index: number; routeName: string; functionName: string}> = new Map();
56
+
57
+ // we default to check for conflict unless it is explicity set to false
58
+ const checkForConflicts = options?.checkForConflicts !== undefined ? !!options.checkForConflicts : true;
59
+ const ignoreList = typeof options?.checkForConflicts === 'object' ? options.checkForConflicts : [];
56
60
  for (let i = 0; i < list.length; i++) {
57
61
  const listElem = list[i];
58
62
  for (const element of listElem.abi) {
@@ -60,7 +64,7 @@ export function mergeABIs(list: {name: string; abi: Abi}[], options?: {doNotChec
60
64
  // const selector = getFunctionSelector(element);
61
65
  const selector = toFunctionSelector(element);
62
66
  if (sigJSMap.has(selector)) {
63
- if (!options?.doNotCheckForConflicts) {
67
+ if (checkForConflicts && !ignoreList.includes(element.name)) {
64
68
  const existing = sigJSMap.get(selector);
65
69
  throw new Error(
66
70
  `ABI conflict: ${existing!.routeName} has function "${existing!.functionName}" which conflict with ${
@@ -123,7 +127,7 @@ export function mergeABIs(list: {name: string; abi: Abi}[], options?: {doNotChec
123
127
 
124
128
  export function mergeArtifacts(
125
129
  list: {name: string; artifact: Partial<Artifact<Abi>> & {abi: Abi}}[],
126
- options?: {doNotCheckForConflicts?: boolean},
130
+ options?: {checkForConflicts?: boolean | string[]},
127
131
  ) {
128
132
  const {mergedABI, added, sigJSMap} = mergeABIs(
129
133
  list.map((v) => ({name: v.name, abi: v.artifact.abi})),