Skip to content

Commit 6cdc60f

Browse files
committed
refactor: re-arrange .sol file
1 parent 2f193be commit 6cdc60f

5 files changed

Lines changed: 28 additions & 19 deletions

File tree

contracts/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ artifacts/
44
# Precompiles build output (OpenZeppelin-style dist)
55
dist/
66

7+
# Generated Solidity interface sources (published artifact)
8+
precompiles/
9+
710
# Wagmi/tsdown staging (generated inputs)
811
.generated/
912

contracts/package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "cosmos-evm-contracts",
33
"packageManager": "pnpm@9.15.0",
4-
"version": "0.0.13",
4+
"version": "0.0.14",
55
"description": "A collection of smart contracts used in the development of the Cosmos EVM blockchain.",
66
"devDependencies": {
77
"@account-abstraction/contracts": "^0.8.0",
@@ -13,16 +13,17 @@
1313
"typescript": "^5.0.0"
1414
},
1515
"scripts": {
16-
"clean:wagmi-staging": "node ./scripts/clean-wagmi-staging.mjs",
17-
"build:precompiles": "pnpm run clean:wagmi-staging && pnpm exec hardhat compile && wagmi generate && tsdown",
16+
"clean:precompiles-build": "node ./scripts/clean-precompiles-build.mjs",
17+
"build:precompiles": "pnpm run clean:precompiles-build && pnpm exec hardhat compile && wagmi generate && tsdown",
1818
"prepublishOnly": "pnpm run build:precompiles"
1919
},
2020
"files": [
2121
"dist",
22+
"precompiles",
2223
"README.md"
2324
],
2425
"exports": {
25-
"./*.sol": "./dist/*.sol",
26+
"./precompiles/*.sol": "./precompiles/*.sol",
2627
"./*": {
2728
"types": "./dist/*.d.ts",
2829
"import": "./dist/*.js",
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { rm } from "node:fs/promises";
2+
import { resolve } from "node:path";
3+
4+
// Keep generated inputs and published Solidity interfaces in sync with sources.
5+
// These directories are safe to delete and are regenerated on every build.
6+
const generatedDir = resolve(process.cwd(), ".generated");
7+
const precompilesDir = resolve(process.cwd(), "precompiles");
8+
9+
// Safety guard: only allow deleting the intended directories.
10+
if (generatedDir !== resolve(process.cwd(), ".generated")) {
11+
throw new Error(`Refusing to delete unexpected path: ${generatedDir}`);
12+
}
13+
if (precompilesDir !== resolve(process.cwd(), "precompiles")) {
14+
throw new Error(`Refusing to delete unexpected path: ${precompilesDir}`);
15+
}
16+
17+
await rm(generatedDir, { recursive: true, force: true });
18+
await rm(precompilesDir, { recursive: true, force: true });
19+

contracts/scripts/clean-wagmi-staging.mjs

Lines changed: 0 additions & 14 deletions
This file was deleted.

contracts/tsdown.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default defineConfig({
1919
"!solidity/precompiles/**/testdata/**",
2020
"!solidity/precompiles/**/testutil/**",
2121
],
22-
to: "dist",
22+
to: ".",
2323
flatten: false,
2424
verbose: true,
2525
},

0 commit comments

Comments
 (0)