diff --git a/.github/workflows/lynx.yml b/.github/workflows/lynx.yml
index 16a9b4f28..c3e2a1164 100644
--- a/.github/workflows/lynx.yml
+++ b/.github/workflows/lynx.yml
@@ -25,13 +25,13 @@ jobs:
os: [ubuntu-latest]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 9
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index c9d560a82..2cf7a06f8 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -9,15 +9,15 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- node: ['18.x', '20.x', '22.x']
+ node: ['22.x', '24.x']
os: [ubuntu-latest]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 9
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
diff --git a/.github/workflows/mainnet.yml b/.github/workflows/mainnet.yml
index cc52462f3..e3b174d21 100644
--- a/.github/workflows/mainnet.yml
+++ b/.github/workflows/mainnet.yml
@@ -23,13 +23,13 @@ jobs:
os: [ubuntu-latest]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 9
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
diff --git a/.github/workflows/npm.yml b/.github/workflows/npm.yml
index 6a5df4521..93152ecb2 100644
--- a/.github/workflows/npm.yml
+++ b/.github/workflows/npm.yml
@@ -17,7 +17,7 @@ jobs:
- uses: pnpm/action-setup@v4
with:
version: 9
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index fa55a0060..0b1d39df3 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -11,11 +11,11 @@ jobs:
name: Publish NPM package using changesets
runs-on: 'ubuntu-latest'
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 9
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
diff --git a/.github/workflows/tapir.yml b/.github/workflows/tapir.yml
index dd207b0d7..c0ac2096f 100644
--- a/.github/workflows/tapir.yml
+++ b/.github/workflows/tapir.yml
@@ -27,13 +27,13 @@ jobs:
os: [ubuntu-latest]
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v6
- uses: pnpm/action-setup@v4
with:
version: 9
- - uses: actions/setup-node@v4
+ - uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
diff --git a/.gitignore b/.gitignore
index 68b9883f8..6e8e08641 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ docs-json
.next
packages/docs
docs
+.claude/
diff --git a/.nvmrc b/.nvmrc
index 3c032078a..2bd5a0a98 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18
+22
diff --git a/demos/taco-demo/package.json b/demos/taco-demo/package.json
index e69859f93..6ce20fe4c 100644
--- a/demos/taco-demo/package.json
+++ b/demos/taco-demo/package.json
@@ -25,22 +25,22 @@
"react-spinners": "^0.14.1"
},
"devDependencies": {
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.6.0",
"@types/react": "^18.3.20",
"@types/react-copy-to-clipboard": "^5.0.7",
"@types/react-dom": "^18.3.5",
- "copy-webpack-plugin": "^12.0.2",
+ "copy-webpack-plugin": "^13.0.0",
"crypto-browserify": "^3.12.1",
"esbuild-loader": "^2.21.0",
"html-webpack-plugin": "^5.6.3",
"process": "^0.11.10",
- "react-refresh": "^0.14.2",
+ "react-refresh": "^0.17.0",
"rimraf": "^5.0.10",
"stream-browserify": "^3.0.0",
"typescript": "^4.9.5",
"vm-browserify": "^1.1.2",
- "webpack": "^5.98.0",
- "webpack-cli": "^5.1.4",
- "webpack-dev-server": "^4.15.2"
+ "webpack": "^5.99.9",
+ "webpack-cli": "^6.0.1",
+ "webpack-dev-server": "^5.2.2"
}
}
diff --git a/demos/taco-nft-demo/package.json b/demos/taco-nft-demo/package.json
index 95b7acbf5..75e62e3e1 100644
--- a/demos/taco-nft-demo/package.json
+++ b/demos/taco-nft-demo/package.json
@@ -24,19 +24,19 @@
"react-spinners": "^0.14.1"
},
"devDependencies": {
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15",
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.6.0",
"@types/react": "^18.3.20",
"@types/react-copy-to-clipboard": "^5.0.7",
"@types/react-dom": "^18.3.5",
- "copy-webpack-plugin": "^12.0.2",
+ "copy-webpack-plugin": "^13.0.0",
"esbuild-loader": "^2.21.0",
"html-webpack-plugin": "^5.6.3",
- "react-refresh": "^0.14.2",
+ "react-refresh": "^0.17.0",
"rimraf": "^5.0.10",
"stream-browserify": "^3.0.0",
"typescript": "^4.9.5",
- "webpack": "^5.98.0",
- "webpack-cli": "^5.1.4",
- "webpack-dev-server": "^4.15.2"
+ "webpack": "^5.99.9",
+ "webpack-cli": "^6.0.1",
+ "webpack-dev-server": "^5.2.2"
}
}
diff --git a/examples/pre/nextjs/next-env.d.ts b/examples/pre/nextjs/next-env.d.ts
index 40c3d6809..830fb594c 100644
--- a/examples/pre/nextjs/next-env.d.ts
+++ b/examples/pre/nextjs/next-env.d.ts
@@ -1,5 +1,6 @@
///
///
+///
// NOTE: This file should not be edited
-// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
+// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/examples/pre/nextjs/package.json b/examples/pre/nextjs/package.json
index bc50d2318..937cdbd13 100644
--- a/examples/pre/nextjs/package.json
+++ b/examples/pre/nextjs/package.json
@@ -11,13 +11,13 @@
},
"dependencies": {
"@nucypher/pre": "workspace:*",
- "@types/node": "20.11.30",
+ "@types/node": "24.3.0",
"@types/react": "18.3.5",
"@types/react-dom": "18.3.0",
"eslint": "8.57.0",
"eslint-config-next": "14.0.4",
"ethers": "^5.8.0",
- "next": "14.2.10",
+ "next": "15.5.14",
"react": "18.3.1",
"react-dom": "18.3.1"
}
diff --git a/examples/pre/react/package.json b/examples/pre/react/package.json
index d1cbd298c..653567731 100644
--- a/examples/pre/react/package.json
+++ b/examples/pre/react/package.json
@@ -29,7 +29,7 @@
"react-dom": "^18.3.1"
},
"devDependencies": {
- "@types/node": "^20.17.28",
+ "@types/node": "^24.3.0",
"@types/react": "^18.3.20",
"@types/react-dom": "^18.3.5",
"react-scripts": "^5.0.1"
diff --git a/examples/pre/webpack-5/package.json b/examples/pre/webpack-5/package.json
index b257e9135..bd659a83a 100644
--- a/examples/pre/webpack-5/package.json
+++ b/examples/pre/webpack-5/package.json
@@ -15,11 +15,11 @@
"@nucypher/pre": "workspace:*"
},
"devDependencies": {
- "copy-webpack-plugin": "^12.0.2",
+ "copy-webpack-plugin": "^13.0.0",
"esbuild-loader": "^2.21.0",
"ethers": "^5.8.0",
- "webpack": "^5.98.0",
- "webpack-cli": "^5.1.4",
- "webpack-dev-server": "^4.15.2"
+ "webpack": "^5.99.9",
+ "webpack-cli": "^6.0.1",
+ "webpack-dev-server": "^5.2.2"
}
}
diff --git a/examples/taco/nextjs/next-env.d.ts b/examples/taco/nextjs/next-env.d.ts
index 40c3d6809..830fb594c 100644
--- a/examples/taco/nextjs/next-env.d.ts
+++ b/examples/taco/nextjs/next-env.d.ts
@@ -1,5 +1,6 @@
///
///
+///
// NOTE: This file should not be edited
-// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
+// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
diff --git a/examples/taco/nextjs/package.json b/examples/taco/nextjs/package.json
index c27f7a2b0..660cc475e 100644
--- a/examples/taco/nextjs/package.json
+++ b/examples/taco/nextjs/package.json
@@ -14,13 +14,13 @@
"@nucypher/shared": "workspace:*",
"@nucypher/taco": "workspace:*",
"@nucypher/taco-auth": "workspace:*",
- "@types/node": "20.11.30",
+ "@types/node": "24.3.0",
"@types/react": "18.3.5",
"@types/react-dom": "18.3.0",
"eslint": "8.57.0",
"eslint-config-next": "14.0.4",
"ethers": "^5.8.0",
- "next": "14.2.10",
+ "next": "15.5.14",
"react": "18.3.1",
"react-dom": "18.3.1",
"typescript": "5.2.2"
diff --git a/examples/taco/nodejs/package.json b/examples/taco/nodejs/package.json
index 8fca0d054..b76b20a3e 100644
--- a/examples/taco/nodejs/package.json
+++ b/examples/taco/nodejs/package.json
@@ -12,7 +12,7 @@
"dependencies": {
"@nucypher/taco": "workspace:*",
"@nucypher/taco-auth": "workspace:*",
- "dotenv": "^16.4.7",
+ "dotenv": "^16.5.0",
"ethers": "^5.8.0"
}
}
diff --git a/examples/taco/react/package.json b/examples/taco/react/package.json
index 860a6cc63..0cfdf1338 100644
--- a/examples/taco/react/package.json
+++ b/examples/taco/react/package.json
@@ -30,7 +30,7 @@
"react-dom": "^18.3.1"
},
"devDependencies": {
- "@types/node": "^20.17.28",
+ "@types/node": "^24.3.0",
"@types/react": "^18.3.20",
"@types/react-dom": "^18.3.5",
"react-scripts": "^5.0.1"
diff --git a/examples/taco/webpack-5/package.json b/examples/taco/webpack-5/package.json
index 35fc00075..5f231f408 100644
--- a/examples/taco/webpack-5/package.json
+++ b/examples/taco/webpack-5/package.json
@@ -16,11 +16,11 @@
"@nucypher/taco-auth": "workspace:*"
},
"devDependencies": {
- "copy-webpack-plugin": "^12.0.2",
+ "copy-webpack-plugin": "^13.0.0",
"esbuild-loader": "^2.21.0",
- "webpack": "^5.98.0",
- "webpack-cli": "^5.1.4",
- "webpack-dev-server": "^4.15.2"
+ "webpack": "^5.99.9",
+ "webpack-cli": "^6.0.1",
+ "webpack-dev-server": "^5.2.2"
},
"peerDependencies": {
"ethers": "^5.7.2"
diff --git a/package.json b/package.json
index 37ac6d4a4..f5dfb2751 100644
--- a/package.json
+++ b/package.json
@@ -25,16 +25,16 @@
},
"dependencies": {
"@changesets/cli": "^2.28.1",
- "@nucypher/nucypher-core": "^0.14.5",
+ "@nucypher/nucypher-core": "^0.16.0",
"ethers": "^5.8.0"
},
"devDependencies": {
"@skypack/package-check": "^0.2.2",
- "@types/node": "^20.17.28",
+ "@types/node": "^24.3.0",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
- "@vitest/coverage-v8": "^3.0.9",
- "bundlemon": "^2.1.0",
+ "@vitest/coverage-v8": "^3.2.4",
+ "bundlemon": "^3.1.0",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0",
"eslint-config-typestrict": "^1.0.5",
@@ -42,7 +42,7 @@
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-no-only-tests": "^3.3.0",
"eslint-plugin-simple-import-sort": "^10.0.0",
- "eslint-plugin-unused-imports": "^3.2.0",
+ "eslint-plugin-unused-imports": "^4.1.4",
"gh-pages": "^6.3.0",
"npm-run-all": "^4.1.5",
"prettier": "^3.5.3",
@@ -51,9 +51,9 @@
"ts-node": "^10.9.2",
"ts-unused-exports": "^10.1.0",
"typedoc": "^0.25.13",
- "typedoc-plugin-coverage": "^2.2.0",
+ "typedoc-plugin-coverage": "^3.4.1",
"typedoc-plugin-missing-exports": "^2.3.0",
- "typedoc-plugin-zod": "^1.4.0",
+ "typedoc-plugin-zod": "^1.4.2",
"typescript": "^5.8.2",
"vitest": "^3.0.9"
},
@@ -65,7 +65,7 @@
]
},
"overrides": {
- "@nucypher/nucypher-core": "^0.14.5",
+ "@nucypher/nucypher-core": "^0.16.0",
"glob-parent@<5.1.2": ">=5.1.2",
"node-forge@<1.0.0": ">=1.0.0",
"node-forge@<1.3.0": ">=1.3.0",
diff --git a/packages/pre/package.json b/packages/pre/package.json
index 6aa3ccf7f..e27e3a3f3 100644
--- a/packages/pre/package.json
+++ b/packages/pre/package.json
@@ -38,7 +38,7 @@
"typedoc": "typedoc"
},
"dependencies": {
- "@nucypher/nucypher-core": "^0.14.5",
+ "@nucypher/nucypher-core": "^0.16.0",
"@nucypher/shared": "workspace:*",
"ethers": "^5.8.0"
},
diff --git a/packages/shared/package.json b/packages/shared/package.json
index 1cdc44bc8..1159aaa37 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -1,6 +1,6 @@
{
"name": "@nucypher/shared",
- "version": "0.5.0",
+ "version": "0.6.0-alpha.12",
"keywords": [
"pre",
"taco",
@@ -42,12 +42,12 @@
"dependencies": {
"@ethersproject/abi": "^5.8.0",
"@ethersproject/providers": "^5.8.0",
- "@nucypher/nucypher-contracts": "^0.25.0",
- "@nucypher/nucypher-core": "^0.14.5",
- "axios": "^1.8.4",
+ "@nucypher/nucypher-contracts": "^0.26.0-alpha.3",
+ "@nucypher/nucypher-core": "^0.16.0",
+ "axios": "^1.13.5",
"deep-equal": "^2.2.3",
"ethers": "^5.8.0",
- "qs": "^6.14.0",
+ "qs": "^6.14.2",
"zod": "^3.24.2"
},
"devDependencies": {
diff --git a/packages/shared/src/cache.ts b/packages/shared/src/cache.ts
new file mode 100644
index 000000000..1cd62d853
--- /dev/null
+++ b/packages/shared/src/cache.ts
@@ -0,0 +1,25 @@
+export class TtlCache {
+ private readonly ttlMs: number;
+ private readonly store = new Map();
+
+ constructor(ttlMs: number) {
+ this.ttlMs = ttlMs;
+ }
+
+ get(key: string): T | undefined {
+ const entry = this.store.get(key);
+ if (entry && Date.now() < entry.expiry) {
+ return entry.data as T;
+ }
+ this.store.delete(key);
+ return undefined;
+ }
+
+ set(key: string, data: unknown): void {
+ this.store.set(key, { data, expiry: Date.now() + this.ttlMs });
+ }
+
+ clear(): void {
+ this.store.clear();
+ }
+}
diff --git a/packages/shared/src/contracts/agents/coordinator.ts b/packages/shared/src/contracts/agents/coordinator.ts
index ab50500c3..a570cb76c 100644
--- a/packages/shared/src/contracts/agents/coordinator.ts
+++ b/packages/shared/src/contracts/agents/coordinator.ts
@@ -1,9 +1,5 @@
import { getContract } from '@nucypher/nucypher-contracts';
-import {
- DkgPublicKey,
- SessionStaticKey,
- ThresholdMessageKit,
-} from '@nucypher/nucypher-core';
+import { DkgPublicKey, SessionStaticKey } from '@nucypher/nucypher-core';
import { BigNumberish, ethers } from 'ethers';
import { Domain } from '../../porter';
@@ -140,20 +136,6 @@ export class DkgCoordinatorAgent {
return await coordinator.getRitualIdFromPublicKey(pointStruct);
}
- public static async isEncryptionAuthorized(
- provider: ethers.providers.Provider,
- domain: Domain,
- ritualId: number,
- thresholdMessageKit: ThresholdMessageKit,
- ): Promise {
- const coordinator = await this.connectReadOnly(provider, domain);
- return await coordinator.isEncryptionAuthorized(
- ritualId,
- thresholdMessageKit.acp.authorization,
- thresholdMessageKit.ciphertextHeader.toBytes(),
- );
- }
-
private static async connectReadOnly(
provider: ethers.providers.Provider,
domain: Domain,
diff --git a/packages/shared/src/contracts/agents/index.ts b/packages/shared/src/contracts/agents/index.ts
index 61e29c0e6..2520222a0 100644
--- a/packages/shared/src/contracts/agents/index.ts
+++ b/packages/shared/src/contracts/agents/index.ts
@@ -1,3 +1,4 @@
export * from './coordinator';
export * from './global-allow-list';
+export * from './signing-coordinator';
export * from './subscription-manager';
diff --git a/packages/shared/src/contracts/agents/signing-coordinator.ts b/packages/shared/src/contracts/agents/signing-coordinator.ts
new file mode 100644
index 000000000..0e5a9c6bb
--- /dev/null
+++ b/packages/shared/src/contracts/agents/signing-coordinator.ts
@@ -0,0 +1,141 @@
+import { getContract } from '@nucypher/nucypher-contracts';
+import { SessionStaticKey } from '@nucypher/nucypher-core';
+import { ethers } from 'ethers';
+
+import { TtlCache } from '../../cache';
+import { Domain } from '../../porter';
+import { fromHexString } from '../../utils';
+import { SigningCoordinator__factory } from '../ethers-typechain';
+import { SigningCoordinator } from '../ethers-typechain/SigningCoordinator';
+
+export type SignerInfo = {
+ provider: string;
+ signerAddress: string;
+ signingRequestStaticKey: SessionStaticKey;
+};
+
+export class SigningCoordinatorAgent {
+ private static cache = new TtlCache(60_000);
+
+ private static cacheKey(
+ domain: Domain,
+ cohortId: number,
+ field: string,
+ ): string {
+ return `${domain}:${cohortId}:${field}`;
+ }
+
+ public static clearCache(): void {
+ this.cache.clear();
+ }
+
+ public static async getParticipants(
+ provider: ethers.providers.Provider,
+ domain: Domain,
+ cohortId: number,
+ ): Promise {
+ const key = this.cacheKey(domain, cohortId, 'participants');
+ const cached = this.cache.get(key);
+ if (cached !== undefined) return cached;
+
+ const coordinator = await this.connectReadOnly(provider, domain);
+ const participants = await coordinator.getSigners(cohortId);
+
+ const result = participants.map(
+ (
+ participant: SigningCoordinator.SigningCohortParticipantStructOutput,
+ ) => {
+ return {
+ provider: participant.provider,
+ signerAddress: participant.signerAddress,
+ signingRequestStaticKey: SessionStaticKey.fromBytes(
+ fromHexString(participant.signingRequestStaticKey),
+ ),
+ };
+ },
+ );
+
+ this.cache.set(key, result);
+ return result;
+ }
+
+ public static async getThreshold(
+ provider: ethers.providers.Provider,
+ domain: Domain,
+ cohortId: number,
+ ): Promise {
+ const key = this.cacheKey(domain, cohortId, 'threshold');
+ const cached = this.cache.get(key);
+ if (cached !== undefined) return cached;
+
+ const coordinator = await this.connectReadOnly(provider, domain);
+ const cohort = await coordinator.signingCohorts(cohortId);
+ const result = cohort.threshold;
+
+ this.cache.set(key, result);
+ return result;
+ }
+
+ public static async getSigningCohortConditions(
+ provider: ethers.providers.Provider,
+ domain: Domain,
+ cohortId: number,
+ chainId: number,
+ ): Promise {
+ const coordinator = await this.connectReadOnly(provider, domain);
+ const cohortCondition = await coordinator.getSigningCohortConditions(
+ cohortId,
+ chainId,
+ );
+ return cohortCondition;
+ }
+
+ public static async setSigningCohortConditions(
+ provider: ethers.providers.Provider,
+ domain: Domain,
+ cohortId: number,
+ chainId: number,
+ conditions: Uint8Array,
+ signer: ethers.Signer,
+ ): Promise {
+ const coordinator = await this.connect(provider, domain, signer);
+ return await coordinator.setSigningCohortConditions(
+ cohortId,
+ chainId,
+ conditions,
+ );
+ }
+
+ public static async getSigningCoordinatorChild(
+ provider: ethers.providers.Provider,
+ domain: Domain,
+ chainId: number,
+ ): Promise {
+ const coordinator = await this.connectReadOnly(provider, domain);
+ return await coordinator.getSigningCoordinatorChild(chainId);
+ }
+
+ private static async connectReadOnly(
+ provider: ethers.providers.Provider,
+ domain: Domain,
+ ) {
+ return await this.connect(provider, domain);
+ }
+
+ private static async connect(
+ provider: ethers.providers.Provider,
+ domain: Domain,
+ signer?: ethers.Signer,
+ ): Promise {
+ const network = await provider.getNetwork();
+ const contractAddress = getContract(
+ domain,
+ network.chainId,
+ 'SigningCoordinator',
+ );
+ return SigningCoordinator__factory.connect(
+ contractAddress,
+ signer ?? provider,
+ );
+ }
+}
diff --git a/packages/shared/src/contracts/ethers-typechain/Coordinator.ts b/packages/shared/src/contracts/ethers-typechain/Coordinator.ts
index 21619add1..c327751e1 100644
--- a/packages/shared/src/contracts/ethers-typechain/Coordinator.ts
+++ b/packages/shared/src/contracts/ethers-typechain/Coordinator.ts
@@ -67,23 +67,31 @@ export interface CoordinatorInterface extends utils.Interface {
functions: {
'DEFAULT_ADMIN_ROLE()': FunctionFragment;
'FEE_MODEL_MANAGER_ROLE()': FunctionFragment;
+ 'HANDOVER_SUPERVISOR_ROLE()': FunctionFragment;
'TREASURY_ROLE()': FunctionFragment;
'acceptDefaultAdminTransfer()': FunctionFragment;
'application()': FunctionFragment;
'approveFeeModel(address)': FunctionFragment;
'beginDefaultAdminTransfer(address)': FunctionFragment;
+ 'blindedSharePosition(uint256,uint16)': FunctionFragment;
'cancelDefaultAdminTransfer()': FunctionFragment;
+ 'cancelHandover(uint32,address)': FunctionFragment;
'changeDefaultAdminDelay(uint48)': FunctionFragment;
'cohortFingerprint(address[])': FunctionFragment;
'defaultAdmin()': FunctionFragment;
'defaultAdminDelay()': FunctionFragment;
'defaultAdminDelayIncreaseWait()': FunctionFragment;
+ 'dkgTimeout()': FunctionFragment;
+ 'dkgTimeoutStub()': FunctionFragment;
'expectedTranscriptSize(uint16,uint16)': FunctionFragment;
'extendRitual(uint32,uint32)': FunctionFragment;
'feeModelsRegistry(address)': FunctionFragment;
+ 'finalizeHandover(uint32,address)': FunctionFragment;
'getAccessController(uint32)': FunctionFragment;
'getAuthority(uint32)': FunctionFragment;
'getFeeModel(uint32)': FunctionFragment;
+ 'getHandoverKey(uint32,address)': FunctionFragment;
+ 'getHandoverState(uint32,address)': FunctionFragment;
'getInitiator(uint32)': FunctionFragment;
'getParticipant(uint32,address,bool)': FunctionFragment;
'getParticipantFromProvider(uint32,address)': FunctionFragment;
@@ -98,11 +106,12 @@ export interface CoordinatorInterface extends utils.Interface {
'getThresholdForRitualSize(uint16)': FunctionFragment;
'getTimestamps(uint32)': FunctionFragment;
'grantRole(bytes32,address)': FunctionFragment;
+ 'handoverRequest(uint32,address,address)': FunctionFragment;
+ 'handoverTimeout()': FunctionFragment;
+ 'handovers(bytes32)': FunctionFragment;
'hasRole(bytes32,address)': FunctionFragment;
- 'initialize(uint32,uint16,address)': FunctionFragment;
- 'initializeNumberOfRituals()': FunctionFragment;
+ 'initialize(uint16,address)': FunctionFragment;
'initiateRitual(address,address[],address,uint32,address)': FunctionFragment;
- 'isEncryptionAuthorized(uint32,bytes,bytes)': FunctionFragment;
'isParticipant(uint32,address)': FunctionFragment;
'isProviderKeySet(address)': FunctionFragment;
'isProviderPublicKeySet(address)': FunctionFragment;
@@ -113,9 +122,9 @@ export interface CoordinatorInterface extends utils.Interface {
'pendingDefaultAdmin()': FunctionFragment;
'pendingDefaultAdminDelay()': FunctionFragment;
'postAggregation(uint32,bytes,(bytes32,bytes16),bytes)': FunctionFragment;
- 'postTranscript(uint32,bytes)': FunctionFragment;
+ 'postBlindedShare(uint32,bytes)': FunctionFragment;
+ 'postHandoverTranscript(uint32,address,bytes,bytes)': FunctionFragment;
'publishTranscript(uint32,bytes)': FunctionFragment;
- 'reinitializeDefaultAdmin(address)': FunctionFragment;
'renounceRole(bytes32,address)': FunctionFragment;
'revokeRole(bytes32,address)': FunctionFragment;
'rituals(uint256)': FunctionFragment;
@@ -123,34 +132,40 @@ export interface CoordinatorInterface extends utils.Interface {
'setMaxDkgSize(uint16)': FunctionFragment;
'setProviderPublicKey((bytes32,bytes32,bytes32))': FunctionFragment;
'setReimbursementPool(address)': FunctionFragment;
- 'setTimeout(uint32)': FunctionFragment;
'supportsInterface(bytes4)': FunctionFragment;
'timeout()': FunctionFragment;
'transferRitualAuthority(uint32,address)': FunctionFragment;
- 'withdrawAllTokens(address)': FunctionFragment;
};
getFunction(
nameOrSignatureOrTopic:
| 'DEFAULT_ADMIN_ROLE'
| 'FEE_MODEL_MANAGER_ROLE'
+ | 'HANDOVER_SUPERVISOR_ROLE'
| 'TREASURY_ROLE'
| 'acceptDefaultAdminTransfer'
| 'application'
| 'approveFeeModel'
| 'beginDefaultAdminTransfer'
+ | 'blindedSharePosition'
| 'cancelDefaultAdminTransfer'
+ | 'cancelHandover'
| 'changeDefaultAdminDelay'
| 'cohortFingerprint'
| 'defaultAdmin'
| 'defaultAdminDelay'
| 'defaultAdminDelayIncreaseWait'
+ | 'dkgTimeout'
+ | 'dkgTimeoutStub'
| 'expectedTranscriptSize'
| 'extendRitual'
| 'feeModelsRegistry'
+ | 'finalizeHandover'
| 'getAccessController'
| 'getAuthority'
| 'getFeeModel'
+ | 'getHandoverKey'
+ | 'getHandoverState'
| 'getInitiator'
| 'getParticipant'
| 'getParticipantFromProvider'
@@ -165,11 +180,12 @@ export interface CoordinatorInterface extends utils.Interface {
| 'getThresholdForRitualSize'
| 'getTimestamps'
| 'grantRole'
+ | 'handoverRequest'
+ | 'handoverTimeout'
+ | 'handovers'
| 'hasRole'
| 'initialize'
- | 'initializeNumberOfRituals'
| 'initiateRitual'
- | 'isEncryptionAuthorized'
| 'isParticipant'
| 'isProviderKeySet'
| 'isProviderPublicKeySet'
@@ -180,9 +196,9 @@ export interface CoordinatorInterface extends utils.Interface {
| 'pendingDefaultAdmin'
| 'pendingDefaultAdminDelay'
| 'postAggregation'
- | 'postTranscript'
+ | 'postBlindedShare'
+ | 'postHandoverTranscript'
| 'publishTranscript'
- | 'reinitializeDefaultAdmin'
| 'renounceRole'
| 'revokeRole'
| 'rituals'
@@ -190,11 +206,9 @@ export interface CoordinatorInterface extends utils.Interface {
| 'setMaxDkgSize'
| 'setProviderPublicKey'
| 'setReimbursementPool'
- | 'setTimeout'
| 'supportsInterface'
| 'timeout'
- | 'transferRitualAuthority'
- | 'withdrawAllTokens',
+ | 'transferRitualAuthority',
): FunctionFragment;
encodeFunctionData(
@@ -205,6 +219,10 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'FEE_MODEL_MANAGER_ROLE',
values?: undefined,
): string;
+ encodeFunctionData(
+ functionFragment: 'HANDOVER_SUPERVISOR_ROLE',
+ values?: undefined,
+ ): string;
encodeFunctionData(
functionFragment: 'TREASURY_ROLE',
values?: undefined,
@@ -225,10 +243,18 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'beginDefaultAdminTransfer',
values: [string],
): string;
+ encodeFunctionData(
+ functionFragment: 'blindedSharePosition',
+ values: [BigNumberish, BigNumberish],
+ ): string;
encodeFunctionData(
functionFragment: 'cancelDefaultAdminTransfer',
values?: undefined,
): string;
+ encodeFunctionData(
+ functionFragment: 'cancelHandover',
+ values: [BigNumberish, string],
+ ): string;
encodeFunctionData(
functionFragment: 'changeDefaultAdminDelay',
values: [BigNumberish],
@@ -249,6 +275,14 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'defaultAdminDelayIncreaseWait',
values?: undefined,
): string;
+ encodeFunctionData(
+ functionFragment: 'dkgTimeout',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'dkgTimeoutStub',
+ values?: undefined,
+ ): string;
encodeFunctionData(
functionFragment: 'expectedTranscriptSize',
values: [BigNumberish, BigNumberish],
@@ -261,6 +295,10 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'feeModelsRegistry',
values: [string],
): string;
+ encodeFunctionData(
+ functionFragment: 'finalizeHandover',
+ values: [BigNumberish, string],
+ ): string;
encodeFunctionData(
functionFragment: 'getAccessController',
values: [BigNumberish],
@@ -273,6 +311,14 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'getFeeModel',
values: [BigNumberish],
): string;
+ encodeFunctionData(
+ functionFragment: 'getHandoverKey',
+ values: [BigNumberish, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getHandoverState',
+ values: [BigNumberish, string],
+ ): string;
encodeFunctionData(
functionFragment: 'getInitiator',
values: [BigNumberish],
@@ -329,26 +375,30 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'grantRole',
values: [BytesLike, string],
): string;
+ encodeFunctionData(
+ functionFragment: 'handoverRequest',
+ values: [BigNumberish, string, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'handoverTimeout',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'handovers',
+ values: [BytesLike],
+ ): string;
encodeFunctionData(
functionFragment: 'hasRole',
values: [BytesLike, string],
): string;
encodeFunctionData(
functionFragment: 'initialize',
- values: [BigNumberish, BigNumberish, string],
- ): string;
- encodeFunctionData(
- functionFragment: 'initializeNumberOfRituals',
- values?: undefined,
+ values: [BigNumberish, string],
): string;
encodeFunctionData(
functionFragment: 'initiateRitual',
values: [string, string[], string, BigNumberish, string],
): string;
- encodeFunctionData(
- functionFragment: 'isEncryptionAuthorized',
- values: [BigNumberish, BytesLike, BytesLike],
- ): string;
encodeFunctionData(
functionFragment: 'isParticipant',
values: [BigNumberish, string],
@@ -387,16 +437,16 @@ export interface CoordinatorInterface extends utils.Interface {
values: [BigNumberish, BytesLike, BLS12381.G1PointStruct, BytesLike],
): string;
encodeFunctionData(
- functionFragment: 'postTranscript',
+ functionFragment: 'postBlindedShare',
values: [BigNumberish, BytesLike],
): string;
encodeFunctionData(
- functionFragment: 'publishTranscript',
- values: [BigNumberish, BytesLike],
+ functionFragment: 'postHandoverTranscript',
+ values: [BigNumberish, string, BytesLike, BytesLike],
): string;
encodeFunctionData(
- functionFragment: 'reinitializeDefaultAdmin',
- values: [string],
+ functionFragment: 'publishTranscript',
+ values: [BigNumberish, BytesLike],
): string;
encodeFunctionData(
functionFragment: 'renounceRole',
@@ -426,10 +476,6 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'setReimbursementPool',
values: [string],
): string;
- encodeFunctionData(
- functionFragment: 'setTimeout',
- values: [BigNumberish],
- ): string;
encodeFunctionData(
functionFragment: 'supportsInterface',
values: [BytesLike],
@@ -439,10 +485,6 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'transferRitualAuthority',
values: [BigNumberish, string],
): string;
- encodeFunctionData(
- functionFragment: 'withdrawAllTokens',
- values: [string],
- ): string;
decodeFunctionResult(
functionFragment: 'DEFAULT_ADMIN_ROLE',
@@ -452,6 +494,10 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'FEE_MODEL_MANAGER_ROLE',
data: BytesLike,
): Result;
+ decodeFunctionResult(
+ functionFragment: 'HANDOVER_SUPERVISOR_ROLE',
+ data: BytesLike,
+ ): Result;
decodeFunctionResult(
functionFragment: 'TREASURY_ROLE',
data: BytesLike,
@@ -472,10 +518,18 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'beginDefaultAdminTransfer',
data: BytesLike,
): Result;
+ decodeFunctionResult(
+ functionFragment: 'blindedSharePosition',
+ data: BytesLike,
+ ): Result;
decodeFunctionResult(
functionFragment: 'cancelDefaultAdminTransfer',
data: BytesLike,
): Result;
+ decodeFunctionResult(
+ functionFragment: 'cancelHandover',
+ data: BytesLike,
+ ): Result;
decodeFunctionResult(
functionFragment: 'changeDefaultAdminDelay',
data: BytesLike,
@@ -496,6 +550,11 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'defaultAdminDelayIncreaseWait',
data: BytesLike,
): Result;
+ decodeFunctionResult(functionFragment: 'dkgTimeout', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'dkgTimeoutStub',
+ data: BytesLike,
+ ): Result;
decodeFunctionResult(
functionFragment: 'expectedTranscriptSize',
data: BytesLike,
@@ -508,6 +567,10 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'feeModelsRegistry',
data: BytesLike,
): Result;
+ decodeFunctionResult(
+ functionFragment: 'finalizeHandover',
+ data: BytesLike,
+ ): Result;
decodeFunctionResult(
functionFragment: 'getAccessController',
data: BytesLike,
@@ -520,6 +583,14 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'getFeeModel',
data: BytesLike,
): Result;
+ decodeFunctionResult(
+ functionFragment: 'getHandoverKey',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'getHandoverState',
+ data: BytesLike,
+ ): Result;
decodeFunctionResult(
functionFragment: 'getInitiator',
data: BytesLike,
@@ -573,18 +644,19 @@ export interface CoordinatorInterface extends utils.Interface {
data: BytesLike,
): Result;
decodeFunctionResult(functionFragment: 'grantRole', data: BytesLike): Result;
- decodeFunctionResult(functionFragment: 'hasRole', data: BytesLike): Result;
- decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
decodeFunctionResult(
- functionFragment: 'initializeNumberOfRituals',
+ functionFragment: 'handoverRequest',
data: BytesLike,
): Result;
decodeFunctionResult(
- functionFragment: 'initiateRitual',
+ functionFragment: 'handoverTimeout',
data: BytesLike,
): Result;
+ decodeFunctionResult(functionFragment: 'handovers', data: BytesLike): Result;
+ decodeFunctionResult(functionFragment: 'hasRole', data: BytesLike): Result;
+ decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
decodeFunctionResult(
- functionFragment: 'isEncryptionAuthorized',
+ functionFragment: 'initiateRitual',
data: BytesLike,
): Result;
decodeFunctionResult(
@@ -622,15 +694,15 @@ export interface CoordinatorInterface extends utils.Interface {
data: BytesLike,
): Result;
decodeFunctionResult(
- functionFragment: 'postTranscript',
+ functionFragment: 'postBlindedShare',
data: BytesLike,
): Result;
decodeFunctionResult(
- functionFragment: 'publishTranscript',
+ functionFragment: 'postHandoverTranscript',
data: BytesLike,
): Result;
decodeFunctionResult(
- functionFragment: 'reinitializeDefaultAdmin',
+ functionFragment: 'publishTranscript',
data: BytesLike,
): Result;
decodeFunctionResult(
@@ -655,7 +727,6 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'setReimbursementPool',
data: BytesLike,
): Result;
- decodeFunctionResult(functionFragment: 'setTimeout', data: BytesLike): Result;
decodeFunctionResult(
functionFragment: 'supportsInterface',
data: BytesLike,
@@ -665,19 +736,20 @@ export interface CoordinatorInterface extends utils.Interface {
functionFragment: 'transferRitualAuthority',
data: BytesLike,
): Result;
- decodeFunctionResult(
- functionFragment: 'withdrawAllTokens',
- data: BytesLike,
- ): Result;
events: {
'AggregationPosted(uint32,address,bytes32)': EventFragment;
+ 'BlindedSharePosted(uint32,address)': EventFragment;
'DefaultAdminDelayChangeCanceled()': EventFragment;
'DefaultAdminDelayChangeScheduled(uint48,uint48)': EventFragment;
'DefaultAdminTransferCanceled()': EventFragment;
'DefaultAdminTransferScheduled(address,uint48)': EventFragment;
'EndRitual(uint32,bool)': EventFragment;
'FeeModelApproved(address)': EventFragment;
+ 'HandoverCanceled(uint32,address,address)': EventFragment;
+ 'HandoverFinalized(uint32,address,address)': EventFragment;
+ 'HandoverRequest(uint32,address,address)': EventFragment;
+ 'HandoverTranscriptPosted(uint32,address,address)': EventFragment;
'Initialized(uint64)': EventFragment;
'MaxDkgSizeChanged(uint16,uint16)': EventFragment;
'ParticipantPublicKeySet(uint32,address,(bytes32,bytes32,bytes32))': EventFragment;
@@ -689,11 +761,11 @@ export interface CoordinatorInterface extends utils.Interface {
'RoleRevoked(bytes32,address,address)': EventFragment;
'StartAggregationRound(uint32)': EventFragment;
'StartRitual(uint32,address,address[])': EventFragment;
- 'TimeoutChanged(uint32,uint32)': EventFragment;
'TranscriptPosted(uint32,address,bytes32)': EventFragment;
};
getEvent(nameOrSignatureOrTopic: 'AggregationPosted'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'BlindedSharePosted'): EventFragment;
getEvent(
nameOrSignatureOrTopic: 'DefaultAdminDelayChangeCanceled',
): EventFragment;
@@ -708,6 +780,10 @@ export interface CoordinatorInterface extends utils.Interface {
): EventFragment;
getEvent(nameOrSignatureOrTopic: 'EndRitual'): EventFragment;
getEvent(nameOrSignatureOrTopic: 'FeeModelApproved'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'HandoverCanceled'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'HandoverFinalized'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'HandoverRequest'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'HandoverTranscriptPosted'): EventFragment;
getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment;
getEvent(nameOrSignatureOrTopic: 'MaxDkgSizeChanged'): EventFragment;
getEvent(nameOrSignatureOrTopic: 'ParticipantPublicKeySet'): EventFragment;
@@ -719,7 +795,6 @@ export interface CoordinatorInterface extends utils.Interface {
getEvent(nameOrSignatureOrTopic: 'RoleRevoked'): EventFragment;
getEvent(nameOrSignatureOrTopic: 'StartAggregationRound'): EventFragment;
getEvent(nameOrSignatureOrTopic: 'StartRitual'): EventFragment;
- getEvent(nameOrSignatureOrTopic: 'TimeoutChanged'): EventFragment;
getEvent(nameOrSignatureOrTopic: 'TranscriptPosted'): EventFragment;
}
@@ -736,6 +811,18 @@ export type AggregationPostedEvent = TypedEvent<
export type AggregationPostedEventFilter =
TypedEventFilter;
+export interface BlindedSharePostedEventObject {
+ ritualId: number;
+ departingParticipant: string;
+}
+export type BlindedSharePostedEvent = TypedEvent<
+ [number, string],
+ BlindedSharePostedEventObject
+>;
+
+export type BlindedSharePostedEventFilter =
+ TypedEventFilter;
+
export interface DefaultAdminDelayChangeCanceledEventObject {}
export type DefaultAdminDelayChangeCanceledEvent = TypedEvent<
[],
@@ -800,6 +887,57 @@ export type FeeModelApprovedEvent = TypedEvent<
export type FeeModelApprovedEventFilter =
TypedEventFilter;
+export interface HandoverCanceledEventObject {
+ ritualId: number;
+ departingParticipant: string;
+ incomingParticipant: string;
+}
+export type HandoverCanceledEvent = TypedEvent<
+ [number, string, string],
+ HandoverCanceledEventObject
+>;
+
+export type HandoverCanceledEventFilter =
+ TypedEventFilter;
+
+export interface HandoverFinalizedEventObject {
+ ritualId: number;
+ departingParticipant: string;
+ incomingParticipant: string;
+}
+export type HandoverFinalizedEvent = TypedEvent<
+ [number, string, string],
+ HandoverFinalizedEventObject
+>;
+
+export type HandoverFinalizedEventFilter =
+ TypedEventFilter;
+
+export interface HandoverRequestEventObject {
+ ritualId: number;
+ departingParticipant: string;
+ incomingParticipant: string;
+}
+export type HandoverRequestEvent = TypedEvent<
+ [number, string, string],
+ HandoverRequestEventObject
+>;
+
+export type HandoverRequestEventFilter = TypedEventFilter;
+
+export interface HandoverTranscriptPostedEventObject {
+ ritualId: number;
+ departingParticipant: string;
+ incomingParticipant: string;
+}
+export type HandoverTranscriptPostedEvent = TypedEvent<
+ [number, string, string],
+ HandoverTranscriptPostedEventObject
+>;
+
+export type HandoverTranscriptPostedEventFilter =
+ TypedEventFilter;
+
export interface InitializedEventObject {
version: BigNumber;
}
@@ -927,17 +1065,6 @@ export type StartRitualEvent = TypedEvent<
export type StartRitualEventFilter = TypedEventFilter;
-export interface TimeoutChangedEventObject {
- oldTimeout: number;
- newTimeout: number;
-}
-export type TimeoutChangedEvent = TypedEvent<
- [number, number],
- TimeoutChangedEventObject
->;
-
-export type TimeoutChangedEventFilter = TypedEventFilter;
-
export interface TranscriptPostedEventObject {
ritualId: number;
node: string;
@@ -982,6 +1109,8 @@ export interface Coordinator extends BaseContract {
FEE_MODEL_MANAGER_ROLE(overrides?: CallOverrides): Promise<[string]>;
+ HANDOVER_SUPERVISOR_ROLE(overrides?: CallOverrides): Promise<[string]>;
+
TREASURY_ROLE(overrides?: CallOverrides): Promise<[string]>;
acceptDefaultAdminTransfer(
@@ -1000,10 +1129,22 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ blindedSharePosition(
+ index: BigNumberish,
+ threshold: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[BigNumber]>;
+
cancelDefaultAdminTransfer(
overrides?: Overrides & { from?: string },
): Promise;
+ cancelHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
changeDefaultAdminDelay(
newDelay: BigNumberish,
overrides?: Overrides & { from?: string },
@@ -1020,6 +1161,10 @@ export interface Coordinator extends BaseContract {
defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise<[number]>;
+ dkgTimeout(overrides?: CallOverrides): Promise<[number]>;
+
+ dkgTimeoutStub(overrides?: CallOverrides): Promise<[number]>;
+
expectedTranscriptSize(
dkgSize: BigNumberish,
threshold: BigNumberish,
@@ -1037,6 +1182,12 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise<[boolean]>;
+ finalizeHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
getAccessController(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -1052,6 +1203,18 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise<[string]>;
+ getHandoverKey(
+ ritualId: BigNumberish,
+ departingProvider: string,
+ overrides?: CallOverrides,
+ ): Promise<[string]>;
+
+ getHandoverState(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise<[number]>;
+
getInitiator(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -1129,6 +1292,28 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ handoverRequest(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ incomingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ handoverTimeout(overrides?: CallOverrides): Promise<[number]>;
+
+ handovers(
+ handoverKey: BytesLike,
+ overrides?: CallOverrides,
+ ): Promise<
+ [number, string, string, string, string] & {
+ requestTimestamp: number;
+ incomingProvider: string;
+ transcript: string;
+ decryptionRequestStaticKey: string;
+ blindedShare: string;
+ }
+ >;
+
hasRole(
role: BytesLike,
account: string,
@@ -1136,16 +1321,11 @@ export interface Coordinator extends BaseContract {
): Promise<[boolean]>;
initialize(
- _timeout: BigNumberish,
_maxDkgSize: BigNumberish,
_admin: string,
overrides?: Overrides & { from?: string },
): Promise;
- initializeNumberOfRituals(
- overrides?: Overrides & { from?: string },
- ): Promise;
-
initiateRitual(
feeModel: string,
providers: string[],
@@ -1155,13 +1335,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- isEncryptionAuthorized(
- arg0: BigNumberish,
- arg1: BytesLike,
- arg2: BytesLike,
- overrides?: CallOverrides,
- ): Promise<[boolean]>;
-
isParticipant(
ritualId: BigNumberish,
provider: string,
@@ -1205,20 +1378,23 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- postTranscript(
- arg0: BigNumberish,
- arg1: BytesLike,
+ postBlindedShare(
+ ritualId: BigNumberish,
+ blindedShare: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- publishTranscript(
+ postHandoverTranscript(
ritualId: BigNumberish,
+ departingParticipant: string,
transcript: BytesLike,
+ decryptionRequestStaticKey: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- reinitializeDefaultAdmin(
- newDefaultAdmin: string,
+ publishTranscript(
+ ritualId: BigNumberish,
+ transcript: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
@@ -1235,7 +1411,7 @@ export interface Coordinator extends BaseContract {
): Promise;
rituals(
- ritualId: BigNumberish,
+ index: BigNumberish,
overrides?: CallOverrides,
): Promise<
[
@@ -1288,11 +1464,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- setTimeout(
- newTimeout: BigNumberish,
- overrides?: Overrides & { from?: string },
- ): Promise;
-
supportsInterface(
interfaceId: BytesLike,
overrides?: CallOverrides,
@@ -1305,17 +1476,14 @@ export interface Coordinator extends BaseContract {
newAuthority: string,
overrides?: Overrides & { from?: string },
): Promise;
-
- withdrawAllTokens(
- token: string,
- overrides?: Overrides & { from?: string },
- ): Promise;
};
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise;
FEE_MODEL_MANAGER_ROLE(overrides?: CallOverrides): Promise;
+ HANDOVER_SUPERVISOR_ROLE(overrides?: CallOverrides): Promise;
+
TREASURY_ROLE(overrides?: CallOverrides): Promise;
acceptDefaultAdminTransfer(
@@ -1334,10 +1502,22 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ blindedSharePosition(
+ index: BigNumberish,
+ threshold: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
cancelDefaultAdminTransfer(
overrides?: Overrides & { from?: string },
): Promise;
+ cancelHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
changeDefaultAdminDelay(
newDelay: BigNumberish,
overrides?: Overrides & { from?: string },
@@ -1354,6 +1534,10 @@ export interface Coordinator extends BaseContract {
defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise;
+ dkgTimeout(overrides?: CallOverrides): Promise;
+
+ dkgTimeoutStub(overrides?: CallOverrides): Promise;
+
expectedTranscriptSize(
dkgSize: BigNumberish,
threshold: BigNumberish,
@@ -1368,6 +1552,12 @@ export interface Coordinator extends BaseContract {
feeModelsRegistry(arg0: string, overrides?: CallOverrides): Promise;
+ finalizeHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
getAccessController(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -1383,6 +1573,18 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ getHandoverKey(
+ ritualId: BigNumberish,
+ departingProvider: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getHandoverState(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
getInitiator(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -1460,6 +1662,28 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ handoverRequest(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ incomingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ handoverTimeout(overrides?: CallOverrides): Promise;
+
+ handovers(
+ handoverKey: BytesLike,
+ overrides?: CallOverrides,
+ ): Promise<
+ [number, string, string, string, string] & {
+ requestTimestamp: number;
+ incomingProvider: string;
+ transcript: string;
+ decryptionRequestStaticKey: string;
+ blindedShare: string;
+ }
+ >;
+
hasRole(
role: BytesLike,
account: string,
@@ -1467,16 +1691,11 @@ export interface Coordinator extends BaseContract {
): Promise;
initialize(
- _timeout: BigNumberish,
_maxDkgSize: BigNumberish,
_admin: string,
overrides?: Overrides & { from?: string },
): Promise;
- initializeNumberOfRituals(
- overrides?: Overrides & { from?: string },
- ): Promise;
-
initiateRitual(
feeModel: string,
providers: string[],
@@ -1486,13 +1705,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- isEncryptionAuthorized(
- arg0: BigNumberish,
- arg1: BytesLike,
- arg2: BytesLike,
- overrides?: CallOverrides,
- ): Promise;
-
isParticipant(
ritualId: BigNumberish,
provider: string,
@@ -1536,20 +1748,23 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- postTranscript(
- arg0: BigNumberish,
- arg1: BytesLike,
+ postBlindedShare(
+ ritualId: BigNumberish,
+ blindedShare: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- publishTranscript(
+ postHandoverTranscript(
ritualId: BigNumberish,
+ departingParticipant: string,
transcript: BytesLike,
+ decryptionRequestStaticKey: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- reinitializeDefaultAdmin(
- newDefaultAdmin: string,
+ publishTranscript(
+ ritualId: BigNumberish,
+ transcript: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
@@ -1566,7 +1781,7 @@ export interface Coordinator extends BaseContract {
): Promise;
rituals(
- ritualId: BigNumberish,
+ index: BigNumberish,
overrides?: CallOverrides,
): Promise<
[
@@ -1619,11 +1834,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- setTimeout(
- newTimeout: BigNumberish,
- overrides?: Overrides & { from?: string },
- ): Promise;
-
supportsInterface(
interfaceId: BytesLike,
overrides?: CallOverrides,
@@ -1637,16 +1847,13 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- withdrawAllTokens(
- token: string,
- overrides?: Overrides & { from?: string },
- ): Promise;
-
callStatic: {
DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise;
FEE_MODEL_MANAGER_ROLE(overrides?: CallOverrides): Promise;
+ HANDOVER_SUPERVISOR_ROLE(overrides?: CallOverrides): Promise;
+
TREASURY_ROLE(overrides?: CallOverrides): Promise;
acceptDefaultAdminTransfer(overrides?: CallOverrides): Promise;
@@ -1660,8 +1867,20 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ blindedSharePosition(
+ index: BigNumberish,
+ threshold: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
cancelDefaultAdminTransfer(overrides?: CallOverrides): Promise;
+ cancelHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
changeDefaultAdminDelay(
newDelay: BigNumberish,
overrides?: CallOverrides,
@@ -1678,6 +1897,10 @@ export interface Coordinator extends BaseContract {
defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise;
+ dkgTimeout(overrides?: CallOverrides): Promise;
+
+ dkgTimeoutStub(overrides?: CallOverrides): Promise;
+
expectedTranscriptSize(
dkgSize: BigNumberish,
threshold: BigNumberish,
@@ -1695,6 +1918,12 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ finalizeHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
getAccessController(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -1710,6 +1939,18 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ getHandoverKey(
+ ritualId: BigNumberish,
+ departingProvider: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getHandoverState(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
getInitiator(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -1787,6 +2028,28 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ handoverRequest(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ incomingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ handoverTimeout(overrides?: CallOverrides): Promise;
+
+ handovers(
+ handoverKey: BytesLike,
+ overrides?: CallOverrides,
+ ): Promise<
+ [number, string, string, string, string] & {
+ requestTimestamp: number;
+ incomingProvider: string;
+ transcript: string;
+ decryptionRequestStaticKey: string;
+ blindedShare: string;
+ }
+ >;
+
hasRole(
role: BytesLike,
account: string,
@@ -1794,14 +2057,11 @@ export interface Coordinator extends BaseContract {
): Promise;
initialize(
- _timeout: BigNumberish,
_maxDkgSize: BigNumberish,
_admin: string,
overrides?: CallOverrides,
): Promise;
- initializeNumberOfRituals(overrides?: CallOverrides): Promise;
-
initiateRitual(
feeModel: string,
providers: string[],
@@ -1811,13 +2071,6 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
- isEncryptionAuthorized(
- arg0: BigNumberish,
- arg1: BytesLike,
- arg2: BytesLike,
- overrides?: CallOverrides,
- ): Promise;
-
isParticipant(
ritualId: BigNumberish,
provider: string,
@@ -1861,20 +2114,23 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
- postTranscript(
- arg0: BigNumberish,
- arg1: BytesLike,
+ postBlindedShare(
+ ritualId: BigNumberish,
+ blindedShare: BytesLike,
overrides?: CallOverrides,
): Promise;
- publishTranscript(
+ postHandoverTranscript(
ritualId: BigNumberish,
+ departingParticipant: string,
transcript: BytesLike,
+ decryptionRequestStaticKey: BytesLike,
overrides?: CallOverrides,
): Promise;
- reinitializeDefaultAdmin(
- newDefaultAdmin: string,
+ publishTranscript(
+ ritualId: BigNumberish,
+ transcript: BytesLike,
overrides?: CallOverrides,
): Promise;
@@ -1891,7 +2147,7 @@ export interface Coordinator extends BaseContract {
): Promise;
rituals(
- ritualId: BigNumberish,
+ index: BigNumberish,
overrides?: CallOverrides,
): Promise<
[
@@ -1942,11 +2198,6 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
- setTimeout(
- newTimeout: BigNumberish,
- overrides?: CallOverrides,
- ): Promise;
-
supportsInterface(
interfaceId: BytesLike,
overrides?: CallOverrides,
@@ -1959,8 +2210,6 @@ export interface Coordinator extends BaseContract {
newAuthority: string,
overrides?: CallOverrides,
): Promise;
-
- withdrawAllTokens(token: string, overrides?: CallOverrides): Promise;
};
filters: {
@@ -1975,6 +2224,15 @@ export interface Coordinator extends BaseContract {
aggregatedTranscriptDigest?: null,
): AggregationPostedEventFilter;
+ 'BlindedSharePosted(uint32,address)'(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ ): BlindedSharePostedEventFilter;
+ BlindedSharePosted(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ ): BlindedSharePostedEventFilter;
+
'DefaultAdminDelayChangeCanceled()'(): DefaultAdminDelayChangeCanceledEventFilter;
DefaultAdminDelayChangeCanceled(): DefaultAdminDelayChangeCanceledEventFilter;
@@ -2011,6 +2269,50 @@ export interface Coordinator extends BaseContract {
'FeeModelApproved(address)'(feeModel?: null): FeeModelApprovedEventFilter;
FeeModelApproved(feeModel?: null): FeeModelApprovedEventFilter;
+ 'HandoverCanceled(uint32,address,address)'(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverCanceledEventFilter;
+ HandoverCanceled(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverCanceledEventFilter;
+
+ 'HandoverFinalized(uint32,address,address)'(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverFinalizedEventFilter;
+ HandoverFinalized(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverFinalizedEventFilter;
+
+ 'HandoverRequest(uint32,address,address)'(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverRequestEventFilter;
+ HandoverRequest(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverRequestEventFilter;
+
+ 'HandoverTranscriptPosted(uint32,address,address)'(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverTranscriptPostedEventFilter;
+ HandoverTranscriptPosted(
+ ritualId?: BigNumberish | null,
+ departingParticipant?: string | null,
+ incomingParticipant?: string | null,
+ ): HandoverTranscriptPostedEventFilter;
+
'Initialized(uint64)'(version?: null): InitializedEventFilter;
Initialized(version?: null): InitializedEventFilter;
@@ -2110,15 +2412,6 @@ export interface Coordinator extends BaseContract {
participants?: null,
): StartRitualEventFilter;
- 'TimeoutChanged(uint32,uint32)'(
- oldTimeout?: null,
- newTimeout?: null,
- ): TimeoutChangedEventFilter;
- TimeoutChanged(
- oldTimeout?: null,
- newTimeout?: null,
- ): TimeoutChangedEventFilter;
-
'TranscriptPosted(uint32,address,bytes32)'(
ritualId?: BigNumberish | null,
node?: string | null,
@@ -2136,6 +2429,8 @@ export interface Coordinator extends BaseContract {
FEE_MODEL_MANAGER_ROLE(overrides?: CallOverrides): Promise;
+ HANDOVER_SUPERVISOR_ROLE(overrides?: CallOverrides): Promise;
+
TREASURY_ROLE(overrides?: CallOverrides): Promise;
acceptDefaultAdminTransfer(
@@ -2154,10 +2449,22 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ blindedSharePosition(
+ index: BigNumberish,
+ threshold: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
cancelDefaultAdminTransfer(
overrides?: Overrides & { from?: string },
): Promise;
+ cancelHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
changeDefaultAdminDelay(
newDelay: BigNumberish,
overrides?: Overrides & { from?: string },
@@ -2176,6 +2483,10 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ dkgTimeout(overrides?: CallOverrides): Promise;
+
+ dkgTimeoutStub(overrides?: CallOverrides): Promise;
+
expectedTranscriptSize(
dkgSize: BigNumberish,
threshold: BigNumberish,
@@ -2193,6 +2504,12 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ finalizeHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
getAccessController(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -2208,6 +2525,18 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ getHandoverKey(
+ ritualId: BigNumberish,
+ departingProvider: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getHandoverState(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
getInitiator(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -2286,6 +2615,20 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ handoverRequest(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ incomingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ handoverTimeout(overrides?: CallOverrides): Promise;
+
+ handovers(
+ handoverKey: BytesLike,
+ overrides?: CallOverrides,
+ ): Promise;
+
hasRole(
role: BytesLike,
account: string,
@@ -2293,16 +2636,11 @@ export interface Coordinator extends BaseContract {
): Promise;
initialize(
- _timeout: BigNumberish,
_maxDkgSize: BigNumberish,
_admin: string,
overrides?: Overrides & { from?: string },
): Promise;
- initializeNumberOfRituals(
- overrides?: Overrides & { from?: string },
- ): Promise;
-
initiateRitual(
feeModel: string,
providers: string[],
@@ -2312,13 +2650,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- isEncryptionAuthorized(
- arg0: BigNumberish,
- arg1: BytesLike,
- arg2: BytesLike,
- overrides?: CallOverrides,
- ): Promise;
-
isParticipant(
ritualId: BigNumberish,
provider: string,
@@ -2358,20 +2689,23 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- postTranscript(
- arg0: BigNumberish,
- arg1: BytesLike,
+ postBlindedShare(
+ ritualId: BigNumberish,
+ blindedShare: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- publishTranscript(
+ postHandoverTranscript(
ritualId: BigNumberish,
+ departingParticipant: string,
transcript: BytesLike,
+ decryptionRequestStaticKey: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- reinitializeDefaultAdmin(
- newDefaultAdmin: string,
+ publishTranscript(
+ ritualId: BigNumberish,
+ transcript: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
@@ -2387,10 +2721,7 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- rituals(
- ritualId: BigNumberish,
- overrides?: CallOverrides,
- ): Promise;
+ rituals(index: BigNumberish, overrides?: CallOverrides): Promise;
rollbackDefaultAdminDelay(
overrides?: Overrides & { from?: string },
@@ -2411,11 +2742,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- setTimeout(
- newTimeout: BigNumberish,
- overrides?: Overrides & { from?: string },
- ): Promise;
-
supportsInterface(
interfaceId: BytesLike,
overrides?: CallOverrides,
@@ -2428,11 +2754,6 @@ export interface Coordinator extends BaseContract {
newAuthority: string,
overrides?: Overrides & { from?: string },
): Promise;
-
- withdrawAllTokens(
- token: string,
- overrides?: Overrides & { from?: string },
- ): Promise;
};
populateTransaction: {
@@ -2444,6 +2765,10 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ HANDOVER_SUPERVISOR_ROLE(
+ overrides?: CallOverrides,
+ ): Promise;
+
TREASURY_ROLE(overrides?: CallOverrides): Promise;
acceptDefaultAdminTransfer(
@@ -2462,10 +2787,22 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ blindedSharePosition(
+ index: BigNumberish,
+ threshold: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
cancelDefaultAdminTransfer(
overrides?: Overrides & { from?: string },
): Promise;
+ cancelHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
changeDefaultAdminDelay(
newDelay: BigNumberish,
overrides?: Overrides & { from?: string },
@@ -2484,6 +2821,10 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ dkgTimeout(overrides?: CallOverrides): Promise;
+
+ dkgTimeoutStub(overrides?: CallOverrides): Promise;
+
expectedTranscriptSize(
dkgSize: BigNumberish,
threshold: BigNumberish,
@@ -2501,6 +2842,12 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ finalizeHandover(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
getAccessController(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -2516,6 +2863,18 @@ export interface Coordinator extends BaseContract {
overrides?: CallOverrides,
): Promise;
+ getHandoverKey(
+ ritualId: BigNumberish,
+ departingProvider: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getHandoverState(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
getInitiator(
ritualId: BigNumberish,
overrides?: CallOverrides,
@@ -2594,6 +2953,20 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
+ handoverRequest(
+ ritualId: BigNumberish,
+ departingParticipant: string,
+ incomingParticipant: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ handoverTimeout(overrides?: CallOverrides): Promise;
+
+ handovers(
+ handoverKey: BytesLike,
+ overrides?: CallOverrides,
+ ): Promise;
+
hasRole(
role: BytesLike,
account: string,
@@ -2601,16 +2974,11 @@ export interface Coordinator extends BaseContract {
): Promise;
initialize(
- _timeout: BigNumberish,
_maxDkgSize: BigNumberish,
_admin: string,
overrides?: Overrides & { from?: string },
): Promise;
- initializeNumberOfRituals(
- overrides?: Overrides & { from?: string },
- ): Promise;
-
initiateRitual(
feeModel: string,
providers: string[],
@@ -2620,13 +2988,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- isEncryptionAuthorized(
- arg0: BigNumberish,
- arg1: BytesLike,
- arg2: BytesLike,
- overrides?: CallOverrides,
- ): Promise;
-
isParticipant(
ritualId: BigNumberish,
provider: string,
@@ -2670,20 +3031,23 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- postTranscript(
- arg0: BigNumberish,
- arg1: BytesLike,
+ postBlindedShare(
+ ritualId: BigNumberish,
+ blindedShare: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- publishTranscript(
+ postHandoverTranscript(
ritualId: BigNumberish,
+ departingParticipant: string,
transcript: BytesLike,
+ decryptionRequestStaticKey: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
- reinitializeDefaultAdmin(
- newDefaultAdmin: string,
+ publishTranscript(
+ ritualId: BigNumberish,
+ transcript: BytesLike,
overrides?: Overrides & { from?: string },
): Promise;
@@ -2700,7 +3064,7 @@ export interface Coordinator extends BaseContract {
): Promise;
rituals(
- ritualId: BigNumberish,
+ index: BigNumberish,
overrides?: CallOverrides,
): Promise;
@@ -2723,11 +3087,6 @@ export interface Coordinator extends BaseContract {
overrides?: Overrides & { from?: string },
): Promise;
- setTimeout(
- newTimeout: BigNumberish,
- overrides?: Overrides & { from?: string },
- ): Promise;
-
supportsInterface(
interfaceId: BytesLike,
overrides?: CallOverrides,
@@ -2740,10 +3099,5 @@ export interface Coordinator extends BaseContract {
newAuthority: string,
overrides?: Overrides & { from?: string },
): Promise;
-
- withdrawAllTokens(
- token: string,
- overrides?: Overrides & { from?: string },
- ): Promise;
};
}
diff --git a/packages/shared/src/contracts/ethers-typechain/SigningCoordinator.ts b/packages/shared/src/contracts/ethers-typechain/SigningCoordinator.ts
new file mode 100644
index 000000000..72bfa1963
--- /dev/null
+++ b/packages/shared/src/contracts/ethers-typechain/SigningCoordinator.ts
@@ -0,0 +1,1903 @@
+/* Autogenerated file. Do not edit manually. */
+/* tslint:disable */
+/* eslint-disable */
+import type {
+ EventFragment,
+ FunctionFragment,
+ Result,
+} from '@ethersproject/abi';
+import type { Listener, Provider } from '@ethersproject/providers';
+import type {
+ BaseContract,
+ BigNumber,
+ BigNumberish,
+ BytesLike,
+ CallOverrides,
+ ContractTransaction,
+ Overrides,
+ PopulatedTransaction,
+ Signer,
+ utils,
+} from 'ethers';
+import type {
+ OnEvent,
+ TypedEvent,
+ TypedEventFilter,
+ TypedListener,
+} from './common';
+
+export declare namespace SigningCoordinator {
+ export type SigningCohortParticipantStruct = {
+ provider: string;
+ signerAddress: string;
+ signingRequestStaticKey: BytesLike;
+ gap: BigNumberish[];
+ };
+
+ export type SigningCohortParticipantStructOutput = [
+ string,
+ string,
+ string,
+ BigNumber[],
+ ] & {
+ provider: string;
+ signerAddress: string;
+ signingRequestStaticKey: string;
+ gap: BigNumber[];
+ };
+}
+
+export interface SigningCoordinatorInterface extends utils.Interface {
+ functions: {
+ 'DEFAULT_ADMIN_ROLE()': FunctionFragment;
+ 'INITIATOR_ROLE()': FunctionFragment;
+ 'SIGNING_REQUEST_KEY_LENGTH()': FunctionFragment;
+ 'acceptDefaultAdminTransfer()': FunctionFragment;
+ 'application()': FunctionFragment;
+ 'beginDefaultAdminTransfer(address)': FunctionFragment;
+ 'cancelDefaultAdminTransfer()': FunctionFragment;
+ 'changeDefaultAdminDelay(uint48)': FunctionFragment;
+ 'defaultAdmin()': FunctionFragment;
+ 'defaultAdminDelay()': FunctionFragment;
+ 'defaultAdminDelayIncreaseWait()': FunctionFragment;
+ 'deployAdditionalChainForSigningMultisig(uint256,uint32)': FunctionFragment;
+ 'extendSigningCohortDuration(uint32,uint32)': FunctionFragment;
+ 'getChains(uint32)': FunctionFragment;
+ 'getRoleAdmin(bytes32)': FunctionFragment;
+ 'getSigner(uint32,address)': FunctionFragment;
+ 'getSigners(uint32)': FunctionFragment;
+ 'getSigningCohortConditions(uint32,uint256)': FunctionFragment;
+ 'getSigningCohortDataHash(uint32,address)': FunctionFragment;
+ 'getSigningCohortState(uint32)': FunctionFragment;
+ 'getSigningCoordinatorChild(uint256)': FunctionFragment;
+ 'getThreshold(uint32)': FunctionFragment;
+ 'grantRole(bytes32,address)': FunctionFragment;
+ 'hasRole(bytes32,address)': FunctionFragment;
+ 'initialize(uint32,uint16,address,address)': FunctionFragment;
+ 'initiateSigningCohort(uint256,address,address[],uint16,uint32)': FunctionFragment;
+ 'isCohortActive(uint32)': FunctionFragment;
+ 'isSigner(uint32,address)': FunctionFragment;
+ 'maxCohortSize()': FunctionFragment;
+ 'numberOfSigningCohorts()': FunctionFragment;
+ 'owner()': FunctionFragment;
+ 'pendingDefaultAdmin()': FunctionFragment;
+ 'pendingDefaultAdminDelay()': FunctionFragment;
+ 'postSigningCohortData(uint32,bytes,bytes)': FunctionFragment;
+ 'renounceRole(bytes32,address)': FunctionFragment;
+ 'revokeRole(bytes32,address)': FunctionFragment;
+ 'rollbackDefaultAdminDelay()': FunctionFragment;
+ 'setDispatcher(address)': FunctionFragment;
+ 'setMaxDkgSize(uint16)': FunctionFragment;
+ 'setSigningCohortConditions(uint32,uint256,bytes)': FunctionFragment;
+ 'setTimeout(uint32)': FunctionFragment;
+ 'signingCohorts(uint32)': FunctionFragment;
+ 'signingCoordinatorDispatcher()': FunctionFragment;
+ 'supportsInterface(bytes4)': FunctionFragment;
+ 'timeout()': FunctionFragment;
+ };
+
+ getFunction(
+ nameOrSignatureOrTopic:
+ | 'DEFAULT_ADMIN_ROLE'
+ | 'INITIATOR_ROLE'
+ | 'SIGNING_REQUEST_KEY_LENGTH'
+ | 'acceptDefaultAdminTransfer'
+ | 'application'
+ | 'beginDefaultAdminTransfer'
+ | 'cancelDefaultAdminTransfer'
+ | 'changeDefaultAdminDelay'
+ | 'defaultAdmin'
+ | 'defaultAdminDelay'
+ | 'defaultAdminDelayIncreaseWait'
+ | 'deployAdditionalChainForSigningMultisig'
+ | 'extendSigningCohortDuration'
+ | 'getChains'
+ | 'getRoleAdmin'
+ | 'getSigner'
+ | 'getSigners'
+ | 'getSigningCohortConditions'
+ | 'getSigningCohortDataHash'
+ | 'getSigningCohortState'
+ | 'getSigningCoordinatorChild'
+ | 'getThreshold'
+ | 'grantRole'
+ | 'hasRole'
+ | 'initialize'
+ | 'initiateSigningCohort'
+ | 'isCohortActive'
+ | 'isSigner'
+ | 'maxCohortSize'
+ | 'numberOfSigningCohorts'
+ | 'owner'
+ | 'pendingDefaultAdmin'
+ | 'pendingDefaultAdminDelay'
+ | 'postSigningCohortData'
+ | 'renounceRole'
+ | 'revokeRole'
+ | 'rollbackDefaultAdminDelay'
+ | 'setDispatcher'
+ | 'setMaxDkgSize'
+ | 'setSigningCohortConditions'
+ | 'setTimeout'
+ | 'signingCohorts'
+ | 'signingCoordinatorDispatcher'
+ | 'supportsInterface'
+ | 'timeout',
+ ): FunctionFragment;
+
+ encodeFunctionData(
+ functionFragment: 'DEFAULT_ADMIN_ROLE',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'INITIATOR_ROLE',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'SIGNING_REQUEST_KEY_LENGTH',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'acceptDefaultAdminTransfer',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'application',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'beginDefaultAdminTransfer',
+ values: [string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'cancelDefaultAdminTransfer',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'changeDefaultAdminDelay',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'defaultAdmin',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'defaultAdminDelay',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'defaultAdminDelayIncreaseWait',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'deployAdditionalChainForSigningMultisig',
+ values: [BigNumberish, BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'extendSigningCohortDuration',
+ values: [BigNumberish, BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getChains',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getRoleAdmin',
+ values: [BytesLike],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getSigner',
+ values: [BigNumberish, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getSigners',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getSigningCohortConditions',
+ values: [BigNumberish, BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getSigningCohortDataHash',
+ values: [BigNumberish, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getSigningCohortState',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getSigningCoordinatorChild',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'getThreshold',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'grantRole',
+ values: [BytesLike, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'hasRole',
+ values: [BytesLike, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'initialize',
+ values: [BigNumberish, BigNumberish, string, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'initiateSigningCohort',
+ values: [BigNumberish, string, string[], BigNumberish, BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'isCohortActive',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'isSigner',
+ values: [BigNumberish, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'maxCohortSize',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'numberOfSigningCohorts',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
+ encodeFunctionData(
+ functionFragment: 'pendingDefaultAdmin',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'pendingDefaultAdminDelay',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'postSigningCohortData',
+ values: [BigNumberish, BytesLike, BytesLike],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'renounceRole',
+ values: [BytesLike, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'revokeRole',
+ values: [BytesLike, string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'rollbackDefaultAdminDelay',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'setDispatcher',
+ values: [string],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'setMaxDkgSize',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'setSigningCohortConditions',
+ values: [BigNumberish, BigNumberish, BytesLike],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'setTimeout',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'signingCohorts',
+ values: [BigNumberish],
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'signingCoordinatorDispatcher',
+ values?: undefined,
+ ): string;
+ encodeFunctionData(
+ functionFragment: 'supportsInterface',
+ values: [BytesLike],
+ ): string;
+ encodeFunctionData(functionFragment: 'timeout', values?: undefined): string;
+
+ decodeFunctionResult(
+ functionFragment: 'DEFAULT_ADMIN_ROLE',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'INITIATOR_ROLE',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'SIGNING_REQUEST_KEY_LENGTH',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'acceptDefaultAdminTransfer',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'application',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'beginDefaultAdminTransfer',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'cancelDefaultAdminTransfer',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'changeDefaultAdminDelay',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'defaultAdmin',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'defaultAdminDelay',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'defaultAdminDelayIncreaseWait',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'deployAdditionalChainForSigningMultisig',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'extendSigningCohortDuration',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'getChains', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'getRoleAdmin',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'getSigner', data: BytesLike): Result;
+ decodeFunctionResult(functionFragment: 'getSigners', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'getSigningCohortConditions',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'getSigningCohortDataHash',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'getSigningCohortState',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'getSigningCoordinatorChild',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'getThreshold',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'grantRole', data: BytesLike): Result;
+ decodeFunctionResult(functionFragment: 'hasRole', data: BytesLike): Result;
+ decodeFunctionResult(functionFragment: 'initialize', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'initiateSigningCohort',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'isCohortActive',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'isSigner', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'maxCohortSize',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'numberOfSigningCohorts',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'pendingDefaultAdmin',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'pendingDefaultAdminDelay',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'postSigningCohortData',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'renounceRole',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'revokeRole', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'rollbackDefaultAdminDelay',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'setDispatcher',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'setMaxDkgSize',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'setSigningCohortConditions',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'setTimeout', data: BytesLike): Result;
+ decodeFunctionResult(
+ functionFragment: 'signingCohorts',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'signingCoordinatorDispatcher',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(
+ functionFragment: 'supportsInterface',
+ data: BytesLike,
+ ): Result;
+ decodeFunctionResult(functionFragment: 'timeout', data: BytesLike): Result;
+
+ events: {
+ 'DefaultAdminDelayChangeCanceled()': EventFragment;
+ 'DefaultAdminDelayChangeScheduled(uint48,uint48)': EventFragment;
+ 'DefaultAdminTransferCanceled()': EventFragment;
+ 'DefaultAdminTransferScheduled(address,uint48)': EventFragment;
+ 'DispatcherChanged(address,address)': EventFragment;
+ 'Initialized(uint64)': EventFragment;
+ 'InitiateSigningCohort(uint32,uint256,address,address[])': EventFragment;
+ 'MaxCohortSizeChanged(uint16,uint16)': EventFragment;
+ 'RoleAdminChanged(bytes32,bytes32,bytes32)': EventFragment;
+ 'RoleGranted(bytes32,address,address)': EventFragment;
+ 'RoleRevoked(bytes32,address,address)': EventFragment;
+ 'SigningCohortConditionsSet(uint32,uint256,bytes)': EventFragment;
+ 'SigningCohortDeployed(uint32,uint256)': EventFragment;
+ 'SigningCohortSignaturePosted(uint32,address,address,bytes)': EventFragment;
+ 'TimeoutChanged(uint32,uint32)': EventFragment;
+ };
+
+ getEvent(
+ nameOrSignatureOrTopic: 'DefaultAdminDelayChangeCanceled',
+ ): EventFragment;
+ getEvent(
+ nameOrSignatureOrTopic: 'DefaultAdminDelayChangeScheduled',
+ ): EventFragment;
+ getEvent(
+ nameOrSignatureOrTopic: 'DefaultAdminTransferCanceled',
+ ): EventFragment;
+ getEvent(
+ nameOrSignatureOrTopic: 'DefaultAdminTransferScheduled',
+ ): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'DispatcherChanged'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'Initialized'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'InitiateSigningCohort'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'MaxCohortSizeChanged'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'RoleAdminChanged'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'RoleGranted'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'RoleRevoked'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'SigningCohortConditionsSet'): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'SigningCohortDeployed'): EventFragment;
+ getEvent(
+ nameOrSignatureOrTopic: 'SigningCohortSignaturePosted',
+ ): EventFragment;
+ getEvent(nameOrSignatureOrTopic: 'TimeoutChanged'): EventFragment;
+}
+
+export interface DefaultAdminDelayChangeCanceledEventObject {}
+export type DefaultAdminDelayChangeCanceledEvent = TypedEvent<
+ [],
+ DefaultAdminDelayChangeCanceledEventObject
+>;
+
+export type DefaultAdminDelayChangeCanceledEventFilter =
+ TypedEventFilter;
+
+export interface DefaultAdminDelayChangeScheduledEventObject {
+ newDelay: number;
+ effectSchedule: number;
+}
+export type DefaultAdminDelayChangeScheduledEvent = TypedEvent<
+ [number, number],
+ DefaultAdminDelayChangeScheduledEventObject
+>;
+
+export type DefaultAdminDelayChangeScheduledEventFilter =
+ TypedEventFilter;
+
+export interface DefaultAdminTransferCanceledEventObject {}
+export type DefaultAdminTransferCanceledEvent = TypedEvent<
+ [],
+ DefaultAdminTransferCanceledEventObject
+>;
+
+export type DefaultAdminTransferCanceledEventFilter =
+ TypedEventFilter;
+
+export interface DefaultAdminTransferScheduledEventObject {
+ newAdmin: string;
+ acceptSchedule: number;
+}
+export type DefaultAdminTransferScheduledEvent = TypedEvent<
+ [string, number],
+ DefaultAdminTransferScheduledEventObject
+>;
+
+export type DefaultAdminTransferScheduledEventFilter =
+ TypedEventFilter;
+
+export interface DispatcherChangedEventObject {
+ oldDispatcher: string;
+ newDispatcher: string;
+}
+export type DispatcherChangedEvent = TypedEvent<
+ [string, string],
+ DispatcherChangedEventObject
+>;
+
+export type DispatcherChangedEventFilter =
+ TypedEventFilter;
+
+export interface InitializedEventObject {
+ version: BigNumber;
+}
+export type InitializedEvent = TypedEvent<[BigNumber], InitializedEventObject>;
+
+export type InitializedEventFilter = TypedEventFilter;
+
+export interface InitiateSigningCohortEventObject {
+ cohortId: number;
+ chainId: BigNumber;
+ authority: string;
+ participants: string[];
+}
+export type InitiateSigningCohortEvent = TypedEvent<
+ [number, BigNumber, string, string[]],
+ InitiateSigningCohortEventObject
+>;
+
+export type InitiateSigningCohortEventFilter =
+ TypedEventFilter;
+
+export interface MaxCohortSizeChangedEventObject {
+ oldSize: number;
+ newSize: number;
+}
+export type MaxCohortSizeChangedEvent = TypedEvent<
+ [number, number],
+ MaxCohortSizeChangedEventObject
+>;
+
+export type MaxCohortSizeChangedEventFilter =
+ TypedEventFilter;
+
+export interface RoleAdminChangedEventObject {
+ role: string;
+ previousAdminRole: string;
+ newAdminRole: string;
+}
+export type RoleAdminChangedEvent = TypedEvent<
+ [string, string, string],
+ RoleAdminChangedEventObject
+>;
+
+export type RoleAdminChangedEventFilter =
+ TypedEventFilter;
+
+export interface RoleGrantedEventObject {
+ role: string;
+ account: string;
+ sender: string;
+}
+export type RoleGrantedEvent = TypedEvent<
+ [string, string, string],
+ RoleGrantedEventObject
+>;
+
+export type RoleGrantedEventFilter = TypedEventFilter;
+
+export interface RoleRevokedEventObject {
+ role: string;
+ account: string;
+ sender: string;
+}
+export type RoleRevokedEvent = TypedEvent<
+ [string, string, string],
+ RoleRevokedEventObject
+>;
+
+export type RoleRevokedEventFilter = TypedEventFilter;
+
+export interface SigningCohortConditionsSetEventObject {
+ cohortId: number;
+ chainId: BigNumber;
+ conditions: string;
+}
+export type SigningCohortConditionsSetEvent = TypedEvent<
+ [number, BigNumber, string],
+ SigningCohortConditionsSetEventObject
+>;
+
+export type SigningCohortConditionsSetEventFilter =
+ TypedEventFilter;
+
+export interface SigningCohortDeployedEventObject {
+ cohortId: number;
+ chainId: BigNumber;
+}
+export type SigningCohortDeployedEvent = TypedEvent<
+ [number, BigNumber],
+ SigningCohortDeployedEventObject
+>;
+
+export type SigningCohortDeployedEventFilter =
+ TypedEventFilter;
+
+export interface SigningCohortSignaturePostedEventObject {
+ cohortId: number;
+ provider: string;
+ signer: string;
+ signature: string;
+}
+export type SigningCohortSignaturePostedEvent = TypedEvent<
+ [number, string, string, string],
+ SigningCohortSignaturePostedEventObject
+>;
+
+export type SigningCohortSignaturePostedEventFilter =
+ TypedEventFilter;
+
+export interface TimeoutChangedEventObject {
+ oldTimeout: number;
+ newTimeout: number;
+}
+export type TimeoutChangedEvent = TypedEvent<
+ [number, number],
+ TimeoutChangedEventObject
+>;
+
+export type TimeoutChangedEventFilter = TypedEventFilter;
+
+export interface SigningCoordinator extends BaseContract {
+ connect(signerOrProvider: Signer | Provider | string): this;
+ attach(addressOrName: string): this;
+ deployed(): Promise;
+
+ interface: SigningCoordinatorInterface;
+
+ queryFilter(
+ event: TypedEventFilter,
+ fromBlockOrBlockhash?: string | number | undefined,
+ toBlock?: string | number | undefined,
+ ): Promise>;
+
+ listeners(
+ eventFilter?: TypedEventFilter,
+ ): Array>;
+ listeners(eventName?: string): Array;
+ removeAllListeners(
+ eventFilter: TypedEventFilter,
+ ): this;
+ removeAllListeners(eventName?: string): this;
+ off: OnEvent;
+ on: OnEvent;
+ once: OnEvent;
+ removeListener: OnEvent;
+
+ functions: {
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
+
+ INITIATOR_ROLE(overrides?: CallOverrides): Promise<[string]>;
+
+ SIGNING_REQUEST_KEY_LENGTH(overrides?: CallOverrides): Promise<[BigNumber]>;
+
+ acceptDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ application(overrides?: CallOverrides): Promise<[string]>;
+
+ beginDefaultAdminTransfer(
+ newAdmin: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ cancelDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ changeDefaultAdminDelay(
+ newDelay: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ defaultAdmin(overrides?: CallOverrides): Promise<[string]>;
+
+ defaultAdminDelay(overrides?: CallOverrides): Promise<[number]>;
+
+ defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise<[number]>;
+
+ deployAdditionalChainForSigningMultisig(
+ chainId: BigNumberish,
+ cohortId: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ extendSigningCohortDuration(
+ cohortId: BigNumberish,
+ additionalDuration: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ getChains(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[BigNumber[]]>;
+
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>;
+
+ getSigner(
+ cohortId: BigNumberish,
+ provider: string,
+ overrides?: CallOverrides,
+ ): Promise<[SigningCoordinator.SigningCohortParticipantStructOutput]>;
+
+ getSigners(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[SigningCoordinator.SigningCohortParticipantStructOutput[]]>;
+
+ getSigningCohortConditions(
+ cohortId: BigNumberish,
+ chainId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[string]>;
+
+ getSigningCohortDataHash(
+ cohortId: BigNumberish,
+ operator: string,
+ overrides?: CallOverrides,
+ ): Promise<[string]>;
+
+ getSigningCohortState(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[number]>;
+
+ getSigningCoordinatorChild(
+ chainId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[string]>;
+
+ getThreshold(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[number]>;
+
+ grantRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ hasRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides,
+ ): Promise<[boolean]>;
+
+ initialize(
+ _timeout: BigNumberish,
+ _maxDkgSize: BigNumberish,
+ _signingCoordinatorDispatcher: string,
+ _admin: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ initiateSigningCohort(
+ chainId: BigNumberish,
+ authority: string,
+ providers: string[],
+ threshold: BigNumberish,
+ duration: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ isCohortActive(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<[boolean]>;
+
+ isSigner(
+ cohortId: BigNumberish,
+ provider: string,
+ overrides?: CallOverrides,
+ ): Promise<[boolean]>;
+
+ maxCohortSize(overrides?: CallOverrides): Promise<[number]>;
+
+ numberOfSigningCohorts(overrides?: CallOverrides): Promise<[BigNumber]>;
+
+ owner(overrides?: CallOverrides): Promise<[string]>;
+
+ pendingDefaultAdmin(
+ overrides?: CallOverrides,
+ ): Promise<[string, number] & { newAdmin: string; schedule: number }>;
+
+ pendingDefaultAdminDelay(
+ overrides?: CallOverrides,
+ ): Promise<[number, number] & { newDelay: number; schedule: number }>;
+
+ postSigningCohortData(
+ cohortId: BigNumberish,
+ signature: BytesLike,
+ signingRequestStaticKey: BytesLike,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ renounceRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ revokeRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ rollbackDefaultAdminDelay(
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ setDispatcher(
+ dispatcher: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ setMaxDkgSize(
+ newSize: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ setSigningCohortConditions(
+ cohortId: BigNumberish,
+ chainId: BigNumberish,
+ conditions: BytesLike,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ setTimeout(
+ newTimeout: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ signingCohorts(
+ arg0: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise<
+ [string, number, number, string, number, number, number] & {
+ initiator: string;
+ initTimestamp: number;
+ endTimestamp: number;
+ authority: string;
+ totalSignatures: number;
+ numSigners: number;
+ threshold: number;
+ }
+ >;
+
+ signingCoordinatorDispatcher(overrides?: CallOverrides): Promise<[string]>;
+
+ supportsInterface(
+ interfaceId: BytesLike,
+ overrides?: CallOverrides,
+ ): Promise<[boolean]>;
+
+ timeout(overrides?: CallOverrides): Promise<[number]>;
+ };
+
+ DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise;
+
+ INITIATOR_ROLE(overrides?: CallOverrides): Promise;
+
+ SIGNING_REQUEST_KEY_LENGTH(overrides?: CallOverrides): Promise;
+
+ acceptDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ application(overrides?: CallOverrides): Promise;
+
+ beginDefaultAdminTransfer(
+ newAdmin: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ cancelDefaultAdminTransfer(
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ changeDefaultAdminDelay(
+ newDelay: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ defaultAdmin(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelay(overrides?: CallOverrides): Promise;
+
+ defaultAdminDelayIncreaseWait(overrides?: CallOverrides): Promise;
+
+ deployAdditionalChainForSigningMultisig(
+ chainId: BigNumberish,
+ cohortId: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ extendSigningCohortDuration(
+ cohortId: BigNumberish,
+ additionalDuration: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ getChains(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise;
+
+ getSigner(
+ cohortId: BigNumberish,
+ provider: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getSigners(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getSigningCohortConditions(
+ cohortId: BigNumberish,
+ chainId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getSigningCohortDataHash(
+ cohortId: BigNumberish,
+ operator: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getSigningCohortState(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getSigningCoordinatorChild(
+ chainId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ getThreshold(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ grantRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ hasRole(
+ role: BytesLike,
+ account: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ initialize(
+ _timeout: BigNumberish,
+ _maxDkgSize: BigNumberish,
+ _signingCoordinatorDispatcher: string,
+ _admin: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ initiateSigningCohort(
+ chainId: BigNumberish,
+ authority: string,
+ providers: string[],
+ threshold: BigNumberish,
+ duration: BigNumberish,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ isCohortActive(
+ cohortId: BigNumberish,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ isSigner(
+ cohortId: BigNumberish,
+ provider: string,
+ overrides?: CallOverrides,
+ ): Promise;
+
+ maxCohortSize(overrides?: CallOverrides): Promise;
+
+ numberOfSigningCohorts(overrides?: CallOverrides): Promise;
+
+ owner(overrides?: CallOverrides): Promise;
+
+ pendingDefaultAdmin(
+ overrides?: CallOverrides,
+ ): Promise<[string, number] & { newAdmin: string; schedule: number }>;
+
+ pendingDefaultAdminDelay(
+ overrides?: CallOverrides,
+ ): Promise<[number, number] & { newDelay: number; schedule: number }>;
+
+ postSigningCohortData(
+ cohortId: BigNumberish,
+ signature: BytesLike,
+ signingRequestStaticKey: BytesLike,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ renounceRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ revokeRole(
+ role: BytesLike,
+ account: string,
+ overrides?: Overrides & { from?: string },
+ ): Promise;
+
+ rollbackDefaultAdminDelay(
+ overrides?: Overrides & { from?: string },
+ ): Promise