@sig-net/midnight-contract 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,27 @@
1
+ # @sig-net/midnight-contract
2
+
3
+ The central [Sig Network](https://sig.network) signet contract on the [Midnight blockchain](https://midnight.network): the singleton that exposes the MPC's [sign bidirectional flow](https://docs.sig.network/architecture/sign-bidirectional) to other Midnight contracts. The MPC posts back to it and clients poll it:
4
+
5
+ - **Signature responses**: an unauthenticated counted log; callers verify the signatures off-chain or in their own circuits.
6
+ - **Remote execution responses**: Schnorr attestations by the MPC's Jubjub key, verified in-circuit at post time.
7
+ - **Request-notification registry**: how the MPC discovers new signature requests.
8
+
9
+ ## What is in it
10
+
11
+ - The curated export surface (package root): the generated contract module (`Contract`, the `ledger` state decoder, `pureCircuits`), the handwritten witnesses, and the platform-agnostic contract surface (circuit ids and the provider type).
12
+ - The `./managed/*` subpath export: the compiled contract assets (compiler output, `zkir/`, prover/verifier `keys/`) so runtimes can fetch them as files. The published package always carries the proving keys.
13
+
14
+ Consumers import the package root; the `./managed/*` paths exist only for runtimes that load zk assets.
15
+
16
+ ## Install
17
+
18
+ ```sh
19
+ npm install @sig-net/midnight-contract
20
+ ```
21
+
22
+ ## Related packages
23
+
24
+ - [`@sig-net/midnight-contract-deploy`](https://www.npmjs.com/package/@sig-net/midnight-contract-deploy): deploys this contract (constructor argument: the MPC attestation key).
25
+ - [`@sig-net/midnight`](https://www.npmjs.com/package/@sig-net/midnight): the client-agnostic protocol library for reading this contract's state and verifying responses.
26
+
27
+ Developed in [sig-net/midnight-integration](https://github.com/sig-net/midnight-integration); example applications live in [sig-net/midnight-examples](https://github.com/sig-net/midnight-examples).
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "compiler-version": "0.33.0",
3
3
  "language-version": "0.25.0",
4
- "runtime-version": "0.18.0-rc.0",
4
+ "runtime-version": "0.18.0-rc.1",
5
5
  "circuits": [
6
6
  {
7
7
  "name": "notifyBidirectionalSignatureRequest",
@@ -2,13 +2,13 @@
2
2
  "manifest-version": "1",
3
3
  "compiler-version": "0.33.0",
4
4
  "language-version": "0.25.0",
5
- "runtime-version": "0.18.0-rc.0",
5
+ "runtime-version": "0.18.0-rc.1",
6
6
  "compiler": {
7
7
  "type": "directory",
8
8
  "contract-info.json": {
9
9
  "type": "file",
10
10
  "size": 8633,
11
- "hash": "6c9b7bfed4149ef2b9adb72c039a32c881f385f437640fe3dff7b7ba2f4768c1"
11
+ "hash": "72d03046b056dd7fb01af5b97b9992b95d952cef1fbbc7a600d5d5ea29c361c5"
12
12
  }
13
13
  },
14
14
  "contract": {
@@ -20,13 +20,13 @@
20
20
  },
21
21
  "index.js": {
22
22
  "type": "file",
23
- "size": 84531,
24
- "hash": "8ae44bde9e25000d76e25a663cda7b1cedc7bdf4e5978cac096f9ae7a5525397"
23
+ "size": 84363,
24
+ "hash": "45747bcf588a8fb96a9413ca532e578f6e9023c9198f7c97ad25e3f2de31790d"
25
25
  },
26
26
  "index.js.map": {
27
27
  "type": "file",
28
- "size": 3258,
29
- "hash": "40d1f39539d07d1e011d8dac46bd89b0de547ea4307e7489bc8ac5b9e4d80581"
28
+ "size": 3251,
29
+ "hash": "8d82e5ba5aced9fc8dc821154cc513a3064e4f8bf40228fcebf157fbcb884996"
30
30
  }
31
31
  },
32
32
  "zkir": {
@@ -1,5 +1,5 @@
1
1
  import * as __compactRuntime from '@midnight-ntwrk/compact-runtime';
2
- __compactRuntime.checkRuntimeVersion('0.18.0-rc.0');
2
+ __compactRuntime.checkRuntimeVersion('0.18.0-rc.1');
3
3
 
4
4
  const _descriptor_0 = new __compactRuntime.CompactTypeBytes(32);
5
5
 
@@ -498,30 +498,30 @@ export class Contract {
498
498
  __compactRuntime.convertBigintToBytes(32,
499
499
  outputLen_0,
500
500
  'Signet.compact line 369 char 7')]);
501
- return [__compactRuntime.convertBytesToBigint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
502
- 16,
503
- ((e, i) => e.slice(i, i+16))(rid_0,
504
- Number(0n)),
505
- 'Field',
506
- 'Signet.compact line 372 char 7'),
507
- __compactRuntime.convertBytesToBigint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
508
- 16,
509
- ((e, i) => e.slice(i, i+16))(rid_0,
510
- Number(16n)),
511
- 'Field',
512
- 'Signet.compact line 373 char 7'),
513
- __compactRuntime.convertBytesToBigint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
514
- 16,
515
- ((e, i) => e.slice(i, i+16))(outHash_0,
516
- Number(0n)),
517
- 'Field',
518
- 'Signet.compact line 374 char 7'),
519
- __compactRuntime.convertBytesToBigint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
520
- 16,
521
- ((e, i) => e.slice(i, i+16))(outHash_0,
522
- Number(16n)),
523
- 'Field',
524
- 'Signet.compact line 375 char 7')];
501
+ return [__compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
502
+ 16,
503
+ ((e, i) => e.slice(i, i+16))(rid_0,
504
+ Number(0n)),
505
+ 'Field',
506
+ 'Signet.compact line 372 char 7'),
507
+ __compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
508
+ 16,
509
+ ((e, i) => e.slice(i, i+16))(rid_0,
510
+ Number(16n)),
511
+ 'Field',
512
+ 'Signet.compact line 373 char 7'),
513
+ __compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
514
+ 16,
515
+ ((e, i) => e.slice(i, i+16))(outHash_0,
516
+ Number(0n)),
517
+ 'Field',
518
+ 'Signet.compact line 374 char 7'),
519
+ __compactRuntime.convertBytesToUint(52435875175126190479447740508185965837690552500527637822603658699938581184512n,
520
+ 16,
521
+ ((e, i) => e.slice(i, i+16))(outHash_0,
522
+ Number(16n)),
523
+ 'Field',
524
+ 'Signet.compact line 375 char 7')];
525
525
  }
526
526
  async _notifyBidirectionalSignatureRequest_0(context,
527
527
  partialProofData,
@@ -712,15 +712,8 @@ export class Contract {
712
712
  }
713
713
  }
714
714
  _equal_0(x0, y0) {
715
- {
716
- let x1 = x0.x;
717
- let y1 = y0.x;
718
- if (x1 !== y1) { return false; }
719
- }
720
- {
721
- let x1 = x0.y;
722
- let y1 = y0.y;
723
- if (x1 !== y1) { return false; }
715
+ if (x0.x != y0.x || x0.y != y0.y) {
716
+ return false;
724
717
  }
725
718
  return true;
726
719
  }
@@ -4,5 +4,5 @@
4
4
  "sourceRoot": "../../../",
5
5
  "sources": ["src/signet-contract.compact", "compiler/standard-library.compact", "compiler/zkir-v3-library.compact", "../../node_modules/@sig-net/midnight/src/Signet.compact"],
6
6
  "names": [],
7
- "mappings": "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"
7
+ "mappings": "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"
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "@sig-net/midnight-contract",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/sig-net/midnight-integration",
7
+ "directory": "packages/signet-contract"
8
+ },
4
9
  "type": "module",
5
10
  "description": "The central signet Compact contract on Midnight: the MPC posts signature responses (unauthenticated counted log, verified off-chain) and remote execution responses (Schnorr attestations, verified in-circuit at post time) here; clients poll it. src/index.ts is the curated export surface.",
6
11
  "exports": {
@@ -33,11 +38,11 @@
33
38
  }
34
39
  },
35
40
  "dependencies": {
36
- "@midnight-ntwrk/compact-runtime": "0.18.0-rc.0",
37
- "@midnight-ntwrk/midnight-js": "5.0.0-beta.3"
41
+ "@midnight-ntwrk/compact-runtime": "0.18.0-rc.1",
42
+ "@midnight-ntwrk/midnight-js": "5.0.0-beta.4"
38
43
  },
39
44
  "devDependencies": {
40
- "@sig-net/midnight": "^0.0.3",
45
+ "@sig-net/midnight": "^0.0.4",
41
46
  "@types/node": "^26.1.0",
42
47
  "typescript": "^6.0.3",
43
48
  "vitest": "^4.1.9"