@rocketh/router 0.12.1 → 0.13.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 +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -49
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
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>(
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
namedAbis
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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:
|
|
24
|
-
args:
|
|
46
|
+
artifact: Router10X60,
|
|
47
|
+
args: [routeParams],
|
|
25
48
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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,
|
|
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.
|
|
3
|
+
"version": "0.13.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.
|
|
27
|
+
"rocketh": "0.13.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.
|
|
33
|
+
"@rocketh/deploy": "0.13.0"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
|
36
36
|
"build": "tsc --project tsconfig.json",
|