@rocketh/router 0.12.1 → 0.14.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/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import type { Artifact, DeploymentConstruction, Deployment, Environment } from '
3
3
  import '@rocketh/deploy';
4
4
  import { DeployContractParameters } from 'viem';
5
5
  import Router10X60 from './solidity-proxy-artifacts/Router10x60.js';
6
+ import { DeployResult } from '@rocketh/deploy';
6
7
  export type Route<TAbi extends Abi = Abi> = Omit<DeployContractParameters<TAbi>, 'bytecode' | 'account' | 'abi' | 'chain'> & {
7
8
  name: string;
8
9
  artifact: Artifact<TAbi>;
@@ -11,7 +12,5 @@ export type RouterEnhancedDeploymentConstruction = Omit<DeploymentConstruction<t
11
12
  export type DeployViaRouterFunction = <TAbi extends Abi>(name: string, params: RouterEnhancedDeploymentConstruction, routes: Route<Abi>[], extraABIs?: Abi[]) => Promise<Deployment<TAbi> & {
12
13
  newlyDeployed: boolean;
13
14
  }>;
14
- export declare function deployViaRouter<TAbi extends Abi>(env: Environment, name: string, params: RouterEnhancedDeploymentConstruction, routes: Route<Abi>[], extraABIs?: Abi[]): Promise<Deployment<TAbi> & {
15
- newlyDeployed: boolean;
16
- }>;
15
+ export declare function deployViaRouter(env: Environment): <TAbi extends Abi>(name: string, params: RouterEnhancedDeploymentConstruction, routes: Route<Abi>[], extraABIs?: Abi[]) => Promise<DeployResult<TAbi>>;
17
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAC,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AACxG,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAAC,wBAAwB,EAAC,MAAM,MAAM,CAAC;AAE9C,OAAO,WAAW,MAAM,2CAA2C,CAAC;AAKpE,MAAM,MAAM,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,GAAG,IAAI,IAAI,CAC/C,wBAAwB,CAAC,IAAI,CAAC,EAC9B,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CACxC,GAAG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG,IAAI,CACtD,sBAAsB,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,EAC9C,UAAU,GAAG,MAAM,CACnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,SAAS,GAAG,EACtD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oCAAoC,EAC5C,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EACpB,SAAS,CAAC,EAAE,GAAG,EAAE,KACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;IAAC,aAAa,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAE1D,wBAAsB,eAAe,CAAC,IAAI,SAAS,GAAG,EACrD,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oCAAoC,EAC5C,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EACpB,SAAS,CAAC,EAAE,GAAG,EAAE,GACf,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;IAAC,aAAa,EAAE,OAAO,CAAA;CAAC,CAAC,CAwEtD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,SAAS,CAAC;AAC5B,OAAO,KAAK,EAAC,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AACxG,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAAC,wBAAwB,EAAC,MAAM,MAAM,CAAC;AAE9C,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAS,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAIrD,MAAM,MAAM,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,GAAG,IAAI,IAAI,CAC/C,wBAAwB,CAAC,IAAI,CAAC,EAC9B,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CACxC,GAAG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG,IAAI,CACtD,sBAAsB,CAAC,OAAO,WAAW,CAAC,GAAG,CAAC,EAC9C,UAAU,GAAG,MAAM,CACnB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,SAAS,GAAG,EACtD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oCAAoC,EAC5C,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EACpB,SAAS,CAAC,EAAE,GAAG,EAAE,KACb,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;IAAC,aAAa,EAAE,OAAO,CAAA;CAAC,CAAC,CAAC;AAE1D,wBAAgB,eAAe,CAC9B,GAAG,EAAE,WAAW,GACd,CAAC,IAAI,SAAS,GAAG,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oCAAoC,EAC5C,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EACpB,SAAS,CAAC,EAAE,GAAG,EAAE,KACb,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAgF/B"}
package/dist/index.js CHANGED
@@ -4,58 +4,61 @@ import { logs } from 'named-logs';
4
4
  import Router10X60 from './solidity-proxy-artifacts/Router10x60.js';
5
5
  import { deploy } from '@rocketh/deploy';
6
6
  const logger = logs('@rocketh/router');
7
- export async function deployViaRouter(env, name, params, routes, extraABIs) {
8
- const implementations = [];
9
- const namedAbis = [];
10
- for (const route of routes) {
11
- namedAbis.push(route);
12
- }
13
- if (extraABIs) {
14
- for (let i = 0; i < extraABIs.length; i++) {
15
- const extra = extraABIs[i];
16
- namedAbis.push({ name: `extra${i}`, artifact: { abi: extra } });
7
+ export function deployViaRouter(env) {
8
+ return async (name, params, routes, extraABIs) => {
9
+ const _deploy = deploy(env);
10
+ const implementations = [];
11
+ const namedAbis = [];
12
+ for (const route of routes) {
13
+ namedAbis.push(route);
17
14
  }
18
- }
19
- const { sigJSMap, mergedABI, mergedDevDocs, mergedUserDocs } = mergeArtifacts(namedAbis);
20
- for (const route of routes) {
21
- const deployedRoute = await deploy(env, `${name}_Router_${route.name}_Route`, {
15
+ if (extraABIs) {
16
+ for (let i = 0; i < extraABIs.length; i++) {
17
+ const extra = extraABIs[i];
18
+ namedAbis.push({ name: `extra${i}`, artifact: { abi: extra } });
19
+ }
20
+ }
21
+ const { sigJSMap, mergedABI, mergedDevDocs, mergedUserDocs } = mergeArtifacts(namedAbis);
22
+ for (const route of routes) {
23
+ const deployedRoute = await _deploy(`${name}_Router_${route.name}_Route`, {
24
+ ...params,
25
+ artifact: route.artifact,
26
+ args: route.args,
27
+ });
28
+ implementations.push(deployedRoute.address);
29
+ }
30
+ const fallbackImplementation = '0x0000000000000000000000000000000000000000';
31
+ const unorderedSigMap = [];
32
+ for (const entry of sigJSMap) {
33
+ // we add +1 to index as 0 indicate no implementation
34
+ unorderedSigMap.push((entry[0] + entry[1].index.toString(16).padStart(2, '0')));
35
+ }
36
+ const sigMap = unorderedSigMap.sort();
37
+ let existingDeployment = env.getOrNull(name);
38
+ const routeParams = {
39
+ fallbackImplementation,
40
+ implementations,
41
+ sigMap,
42
+ };
43
+ logger.info(`routes`, routeParams);
44
+ const router = await _deploy(`${name}_Router`, {
22
45
  ...params,
23
- artifact: route.artifact,
24
- args: route.args,
46
+ artifact: Router10X60,
47
+ args: [routeParams],
25
48
  });
26
- implementations.push(deployedRoute.address);
27
- }
28
- const fallbackImplementation = '0x0000000000000000000000000000000000000000';
29
- const unorderedSigMap = [];
30
- for (const entry of sigJSMap) {
31
- // we add +1 to index as 0 indicate no implementation
32
- unorderedSigMap.push((entry[0] + entry[1].index.toString(16).padStart(2, '0')));
33
- }
34
- const sigMap = unorderedSigMap.sort();
35
- let existingDeployment = env.getOrNull(name);
36
- const routeParams = {
37
- fallbackImplementation,
38
- implementations,
39
- sigMap,
49
+ logger.info(`router deployed at ${router.address}`);
50
+ if (!existingDeployment || router.newlyDeployed) {
51
+ const { newlyDeployed, ...routerWithoutDeployedFlag } = router;
52
+ existingDeployment = await env.save(name, {
53
+ ...routerWithoutDeployedFlag,
54
+ abi: mergedABI,
55
+ devdoc: mergedDevDocs,
56
+ userdoc: mergedUserDocs,
57
+ });
58
+ logger.info(`save with merged ABI: ${name}`);
59
+ return { ...existingDeployment, newlyDeployed: true };
60
+ }
61
+ return { ...existingDeployment, newlyDeployed: false };
40
62
  };
41
- logger.info(`routes`, routeParams);
42
- const router = await deploy(env, `${name}_Router`, {
43
- ...params,
44
- artifact: Router10X60,
45
- args: [routeParams],
46
- });
47
- logger.info(`router deployed at ${router.address}`);
48
- if (!existingDeployment || router.newlyDeployed) {
49
- const { newlyDeployed, ...routerWithoutDeployedFlag } = router;
50
- existingDeployment = await env.save(name, {
51
- ...routerWithoutDeployedFlag,
52
- abi: mergedABI,
53
- devdoc: mergedDevDocs,
54
- userdoc: mergedUserDocs,
55
- });
56
- logger.info(`save with merged ABI: ${name}`);
57
- return { ...existingDeployment, newlyDeployed: true };
58
- }
59
- return { ...existingDeployment, newlyDeployed: false };
60
63
  }
61
64
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAsBvC,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,GAAgB,EAChB,IAAY,EACZ,MAA4C,EAC5C,MAAoB,EACpB,SAAiB;IAEjB,MAAM,eAAe,GAAoB,EAAE,CAAC;IAE5C,MAAM,SAAS,GAKT,EAAE,CAAC;IACT,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAC,GAAG,EAAE,KAAK,EAAC,EAAC,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;IAED,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAC,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACvF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAM,GAAG,EAAE,GAAG,IAAI,WAAW,KAAK,CAAC,IAAI,QAAQ,EAAE;YAClF,GAAG,MAAM;YACT,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAiB;SAC7B,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,sBAAsB,GAAG,4CAA6D,CAAC;IAE7F,MAAM,eAAe,GAAoB,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,qDAAqD;QACrD,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAkB,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;IAEtC,IAAI,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAO,IAAI,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG;QACnB,sBAAsB;QACtB,eAAe;QACf,MAAM;KACN,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAyB,GAAG,EAAE,GAAG,IAAI,SAAS,EAAE;QAC1E,GAAG,MAAM;QACT,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,CAAC,WAAW,CAAC;KACnB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpD,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,EAAC,aAAa,EAAE,GAAG,yBAAyB,EAAC,GAAG,MAAM,CAAC;QAC7D,kBAAkB,GAAG,MAAM,GAAG,CAAC,IAAI,CAAO,IAAI,EAAE;YAC/C,GAAG,yBAAyB;YAC5B,GAAG,EAAE,SAA4B;YACjC,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,cAAc;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QAE7C,OAAO,EAAC,GAAG,kBAAkB,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC;IACrD,CAAC;IAED,OAAO,EAAC,GAAG,kBAAkB,EAAE,aAAa,EAAE,KAAK,EAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocketh/router",
3
- "version": "0.12.1",
3
+ "version": "0.14.0",
4
4
  "description": "provide router based proxy deployment for rocketh",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -24,13 +24,13 @@
24
24
  "eip-1193": "^0.6.2",
25
25
  "rimraf": "^6.0.1",
26
26
  "typescript": "^5.8.2",
27
- "rocketh": "0.12.1"
27
+ "rocketh": "0.14.0"
28
28
  },
29
29
  "dependencies": {
30
30
  "ethers": "^6.13.5",
31
31
  "named-logs": "^0.3.2",
32
32
  "viem": "^2.23.12",
33
- "@rocketh/deploy": "0.12.1"
33
+ "@rocketh/deploy": "0.14.0"
34
34
  },
35
35
  "scripts": {
36
36
  "build": "tsc --project tsconfig.json",