Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1029,17 +1029,19 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: sdk-artifacts
include-hidden-files: true
path: |
packages/enclave-sdk/dist
packages/enclave-contracts/dist
packages/enclave-contracts/artifacts
packages/enclave-contracts/cache
packages/enclave-contracts/types
crates/wasm/dist
circuits/bin/.active-preset.json
Comment thread
0xjei marked this conversation as resolved.
circuits/bin/recursive_aggregation/wrapper/threshold/target
circuits/bin/threshold/target
retention-days: 1
if-no-files-found: warn
if-no-files-found: error

build_crisp_sdk:
needs: [detect_changes]
Expand Down Expand Up @@ -1156,6 +1158,7 @@ jobs:
ls -la templates/default/target/debug/e3-support-scripts-dev || echo "support scripts not found"
ls -la packages/enclave-contracts/dist || echo "SDK dist not found"
ls -la crates/wasm/dist || echo "WASM dist not found"
test -f circuits/bin/.active-preset.json || (echo "ERROR: circuit preset stamp not found" && exit 1)
echo "Support scripts permissions:"
ls -la templates/default/target/debug/e3-support-scripts-dev

Expand Down
29 changes: 27 additions & 2 deletions packages/enclave-sdk/src/circuits/assert-micro-circuits.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
// without even the implied warranty of MERCHANTABILITY
// or FITNESS FOR A PARTICULAR PURPOSE.

import { readFileSync } from 'node:fs'
import { existsSync, readFileSync } from 'node:fs'
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'

Expand All @@ -13,7 +13,30 @@ import { SDKError } from '../utils'
/** Matches `IEnclave.CommitteeSize.Micro` and `DEFAULT_E3_CONFIG.committeeSize`. */
export const SDK_CIRCUIT_COMMITTEE = 'micro'

const ACTIVE_PRESET_PATH = resolve(dirname(fileURLToPath(import.meta.url)), '../../../../circuits/bin/.active-preset.json')
function findActivePath(): string | null {
// Walk up from the bundle file (depth varies: dist/ vs dist/crypto/ etc.)
// until we find the package root (directory containing package.json).
let dir = dirname(fileURLToPath(import.meta.url))
while (true) {
if (existsSync(resolve(dir, 'package.json'))) {
// Bundled preset shipped inside the package takes priority (future use).
const bundled = resolve(dir, '.active-preset.json')
if (existsSync(bundled)) return bundled

// When installed under node_modules the monorepo root is not available;
// skip the check rather than resolving into an unrelated project tree.
if (dir.includes('node_modules')) return null

return resolve(dir, '../../circuits/bin/.active-preset.json')
}
const parent = dirname(dir)
if (parent === dir) break
dir = parent
}
throw new SDKError('Could not locate SDK package root', 'SDK_CIRCUIT_STAMP_MISSING')
}

const ACTIVE_PRESET_PATH = findActivePath()

let checked = false

Expand All @@ -26,6 +49,8 @@ export function assertSdkMicroCircuits(): void {
if (checked) return
checked = true

if (ACTIVE_PRESET_PATH === null) return

let raw: string
try {
raw = readFileSync(ACTIVE_PRESET_PATH, 'utf-8')
Expand Down
66 changes: 23 additions & 43 deletions templates/default/deployed_contracts.json
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
{
"localhost": {
"PoseidonT3": {
"blockNumber": 17,
"blockNumber": 4,
"address": "0x3333333C0A88F9BE4fd23ed0536F9B6c427e3B93"
},
"MockUSDC": {
"constructorArgs": {
"initialSupply": "1000000"
},
"blockNumber": 18,
"blockNumber": 5,
"address": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512"
},
"EnclaveToken": {
"constructorArgs": {
"owner": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
},
"blockNumber": 19,
"blockNumber": 6,
"address": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"
},
"EnclaveTicketToken": {
Expand All @@ -24,15 +24,15 @@
"registry": "0x0000000000000000000000000000000000000001",
"owner": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
},
"blockNumber": 21,
"blockNumber": 8,
"address": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"
},
"SlashingManager": {
"constructorArgs": {
"initialDelay": "172800",
"admin": "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"
},
"blockNumber": 11,
"blockNumber": 9,
"address": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707"
},
"CiphernodeRegistryOwnable": {
Expand All @@ -47,7 +47,7 @@
"proxyAdminAddress": "0x9bd03768a7DCc129555dE410FF8E85528A4F88b5",
"implementationAddress": "0x0165878A594ca255338adfa4d48449f69242Eb8F"
},
"blockNumber": 12,
"blockNumber": 11,
"address": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853"
},
"BondingRegistry": {
Expand All @@ -69,7 +69,7 @@
"proxyAdminAddress": "0x8aCd85898458400f7Db866d53FCFF6f0D49741FF",
"implementationAddress": "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6"
},
"blockNumber": 13,
"blockNumber": 12,
"address": "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318"
},
"Enclave": {
Expand All @@ -89,8 +89,8 @@
"proxyAdminAddress": "0x1F708C24a0D3A740cD47cC0444E9480899f3dA7D",
"implementationAddress": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e"
},
"blockNumber": 27,
"address": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e"
"blockNumber": 16,
"address": "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0"
},
"E3RefundManager": {
"constructorArgs": {
Expand All @@ -105,52 +105,32 @@
"proxyAdminAddress": "0x8e80FFe6Dc044F4A766Afd6e5a8732Fe0977A493",
"implementationAddress": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82"
},
"blockNumber": 29,
"address": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82"
"blockNumber": 18,
"address": "0x9A676e781A523b5d0C0e43731313A708CB607508"
},
"MockComputeProvider": {
"blockNumber": 31,
"address": "0x9E545E3C0baAB3E08CdfD552C960A1050f373042"
"blockNumber": 51,
"address": "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00"
},
"MockDecryptionVerifier": {
"blockNumber": 32,
"address": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9"
"blockNumber": 53,
"address": "0x36C02dA8a0983159322a80FFE9F24b1acfF8B570"
},
"MockPkVerifier": {
"blockNumber": 33,
"address": "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8"
"blockNumber": 54,
"address": "0x809d550fca64d94Bd9F66E60752A544199cfAC3D"
},
"MockE3Program": {
"blockNumber": 34,
"address": "0x851356ae760d987E095750cCeb3bC6014560891C"
},
"ZKTranscriptLib": {
"blockNumber": 36,
"address": "0x95401dc811bb5740090279Ba06cfA8fcF6113778"
},
"DecryptionAggregatorVerifier": {
"blockNumber": 37,
"address": "0x998abeb3E57409262aE5b751f60747921B33613E"
},
"DkgAggregatorVerifier": {
"blockNumber": 38,
"address": "0x70e0bA845a1A0F2DA3359C97E0285013525FFC49"
},
"BfvDecryptionVerifier": {
"blockNumber": 39,
"address": "0x4826533B4897376654Bb4d4AD88B7faFD0C98528"
},
"BfvPkVerifier": {
"blockNumber": 41,
"address": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF"
"blockNumber": 55,
"address": "0x4c5859f0F772848b2D91F1D83E2Fe57935348029"
},
"ImageID": {
"address": "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00",
"blockNumber": 44
"address": "0x82e01223d51Eb87e16A03E24687EDF0F294da6f1",
"blockNumber": 60
},
"MyProgram": {
"address": "0x36C02dA8a0983159322a80FFE9F24b1acfF8B570",
"blockNumber": 46
"address": "0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3",
"blockNumber": 62
}
}
}
15 changes: 6 additions & 9 deletions templates/default/enclave.config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,23 @@ chains:
rpc_url: "ws://localhost:8545"
contracts:
e3_program:
address: "0x8f86403A4DE0BB5791fa46B8e795C547942fE4Cf"
deploy_block: 32
address: "0x2bdCC0de6bE1f7D2ee689a0342D76F52E8EFABa3"
deploy_block: 62
enclave:
address: "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e"
address: "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0"
deploy_block: 16
ciphernode_registry:
address: "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853"
deploy_block: 12
deploy_block: 11
bonding_registry:
address: "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318"
deploy_block: 13
deploy_block: 12
slashing_manager:
address: "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707"
deploy_block: 11
fee_token:
address: "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512"
deploy_block: 6
e3_program:
address: "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF"
deploy_block: 51
deploy_block: 5
program:
dev: true
# Default profile: multithread uses (logical CPUs - 1) Rayon workers and the same concurrent job
Expand Down
Loading