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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .act.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
COMPACT_INSTALLER_URL=https://github.com/midnightntwrk/compact/releases/latest/download/compact-installer.sh
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,5 @@ coverage
*~

*temp
.claude/
.act.env
2 changes: 1 addition & 1 deletion contracts/src/access/test/AccessControl.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { convertFieldToBytes } from '@midnight-ntwrk/compact-runtime';
import { beforeEach, describe, expect, it } from 'vitest';
import * as utils from '#test-utils/address.js';
import { AccessControlSimulator } from './simulators/AccessControlSimulator.js';
import { AccessControlSimulator } from './mocks/AccessControlSimulator.js';

// PKs
const [OPERATOR_1, Z_OPERATOR_1] = utils.generateEitherPubKeyPair('OPERATOR_1');
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/access/test/Ownable.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { beforeEach, describe, expect, it } from 'vitest';
import * as utils from '#test-utils/address.js';
import { OwnableSimulator } from './simulators/OwnableSimulator.js';
import { OwnableSimulator } from './mocks/OwnableSimulator.js';

// PKs
const [OWNER, Z_OWNER] = utils.generateEitherPubKeyPair('OWNER');
Expand Down
12 changes: 7 additions & 5 deletions contracts/src/access/test/ZOwnablePK.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ import {
} from '@midnight-ntwrk/compact-runtime';
import { beforeEach, describe, expect, it } from 'vitest';
import * as utils from '#test-utils/address.js';
import type { ZswapCoinPublicKey } from '../../../artifacts/MockOwnable/contract/index.js';
import { ZOwnablePKPrivateState } from '../witnesses/ZOwnablePKWitnesses.js';
import { ZOwnablePKSimulator } from './simulators/ZOwnablePKSimulator.js';
import type { ZswapCoinPublicKey } from '../../../artifacts/Ownable.mock/contract/index.js';
import {
generate as generateZOwnablePKState,
ZOwnablePKSimulator,
} from './mocks/ZOwnablePKSimulator.js';

// PKs
const [OWNER, Z_OWNER] = utils.generatePubKeyPair('OWNER');
Expand Down Expand Up @@ -139,7 +141,7 @@ describe('ZOwnablePK', () => {
describe('after initialization', () => {
beforeEach(() => {
// Create private state object and generate nonce
const PS = ZOwnablePKPrivateState.generate();
const PS = generateZOwnablePKState();
// Bind nonce for convenience
secretNonce = PS.secretNonce;
// Prepare owner ID with gen nonce
Expand Down Expand Up @@ -171,7 +173,7 @@ describe('ZOwnablePK', () => {

beforeEach(() => {
// Prepare new owner commitment
newOwnerNonce = ZOwnablePKPrivateState.generate().secretNonce;
newOwnerNonce = generateZOwnablePKState().secretNonce;
newCounter = INIT_COUNTER + 1n;
newIdHash = createIdHash(Z_NEW_OWNER, newOwnerNonce);
newOwnerCommitment = buildCommitment(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import {
ledger,
Contract as MockAccessControl,
type ZswapCoinPublicKey,
} from '../../../../artifacts/MockAccessControl/contract/index.js';
import {
AccessControlPrivateState,
AccessControlWitnesses,
} from '../../witnesses/AccessControlWitnesses.js';
} from '../../../../artifacts/AccessControl.mock/contract/index.js';

type AccessControlPrivateState = Record<string, never>;
const AccessControlPrivateState: AccessControlPrivateState = {};
const AccessControlWitnesses = () => ({});

/**
* Type constructor args
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import {
ledger,
Contract as MockOwnable,
type ZswapCoinPublicKey,
} from '../../../../artifacts/MockOwnable/contract/index.js';
import {
OwnablePrivateState,
OwnableWitnesses,
} from '../../witnesses/OwnableWitnesses.js';
} from '../../../../artifacts/Ownable.mock/contract/index.js';

type OwnablePrivateState = Record<string, never>;
const OwnablePrivateState: OwnablePrivateState = {};
const OwnableWitnesses = () => ({});

/**
* Type constructor args
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,37 @@
import { getRandomValues } from 'node:crypto';
import type { WitnessContext } from '@midnight-ntwrk/compact-runtime';
import {
type BaseSimulatorOptions,
createSimulator,
} from '@openzeppelin-compact/contracts-simulator';
import type { Ledger } from '../../../../artifacts/ZOwnablePK.mock/contract/index.js';
import {
type ContractAddress,
type Either,
ledger,
Contract as MockZOwnablePK,
type ZswapCoinPublicKey,
} from '../../../../artifacts/MockZOwnablePK/contract/index.js';
import {
ZOwnablePKPrivateState,
ZOwnablePKWitnesses,
} from '../../witnesses/ZOwnablePKWitnesses.js';
} from '../../../../artifacts/ZOwnablePK.mock/contract/index.js';

export type ZOwnablePKPrivateState = {
secretNonce: Buffer;
};

export const generate = (): ZOwnablePKPrivateState => ({
secretNonce: getRandomValues(Buffer.alloc(32)),
});

export const withNonce = (nonce: Buffer): ZOwnablePKPrivateState => ({
secretNonce: nonce,
});

const ZOwnablePKWitnesses = () => ({
wit_secretNonce(
context: WitnessContext<Ledger, ZOwnablePKPrivateState>,
): [ZOwnablePKPrivateState, Uint8Array] {
return [context.privateState, context.privateState.secretNonce];
},
});

/**
* Type constructor args
Expand Down Expand Up @@ -42,7 +61,7 @@ const ZOwnablePKSimulatorBase: any = createSimulator<
>({
contractFactory: (witnesses) =>
new MockZOwnablePK<ZOwnablePKPrivateState>(witnesses),
defaultPrivateState: () => ZOwnablePKPrivateState.generate(),
defaultPrivateState: () => generate(),
contractArgs: (owner, instanceSalt, isInit) => {
return [owner, instanceSalt, isInit];
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pragma language_version >= 0.21.0;

import CompactStandardLibrary;

import "../../AccessControl" prefix AccessControl_;
import "../../../AccessControl" prefix AccessControl_;

export { ZswapCoinPublicKey, ContractAddress, Either, Maybe, AccessControl_DEFAULT_ADMIN_ROLE };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ pragma language_version >= 0.21.0;

import CompactStandardLibrary;

import "../../Ownable" prefix Ownable_;
import "../../../Ownable" prefix Ownable_;

export { ZswapCoinPublicKey, ContractAddress, Either, Maybe };

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
pragma language_version >= 0.21.0;

import CompactStandardLibrary;
import "../../ZOwnablePK" prefix ZOwnablePK_;
import "../../../ZOwnablePK" prefix ZOwnablePK_;

export { ZswapCoinPublicKey, ContractAddress, Either, Maybe };
export { ZOwnablePK__ownerCommitment, ZOwnablePK__counter };
Expand Down
6 changes: 0 additions & 6 deletions contracts/src/access/witnesses/AccessControlWitnesses.ts

This file was deleted.

6 changes: 0 additions & 6 deletions contracts/src/access/witnesses/OwnableWitnesses.ts

This file was deleted.

68 changes: 0 additions & 68 deletions contracts/src/access/witnesses/ZOwnablePKWitnesses.ts

This file was deleted.

4 changes: 2 additions & 2 deletions contracts/src/archive/test/ShieldedToken.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import {
tokenType,
} from '@midnight-ntwrk/onchain-runtime';
import { beforeEach, describe, expect, it } from 'vitest';
import type { Maybe } from '../../../artifacts/MockShieldedToken/contract/index.js'; // Combined imports
import { ShieldedTokenSimulator } from './simulators/ShieldedTokenSimulator.js';
import type { Maybe } from '../../../artifacts/ShieldedToken.mock/contract/index.js'; // Combined imports
import { ShieldedTokenSimulator } from './mocks/ShieldedTokenSimulator.js';
import * as utils from './utils/address.js';

const NO_STRING: Maybe<string> = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,12 @@ import {
Contract as MockShielded,
type SendResult,
type ZswapCoinPublicKey,
} from '../../../../artifacts/MockShieldedToken/contract/index.js'; // Combined imports
import {
type ShieldedTokenPrivateState,
ShieldedTokenWitnesses,
} from '../../witnesses/ShieldedTokenWitnesses.js';
} from '../../../../artifacts/ShieldedToken.mock/contract/index.js';
import type { IContractSimulator } from '../types/test.js';

type ShieldedTokenPrivateState = Record<string, never>;
const ShieldedTokenWitnesses = {};

/**
* @description A simulator implementation of a shielded token contract for testing purposes.
* @template P - The private state type, fixed to ShieldedTokenPrivateState.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
pragma language_version >= 0.21.0;

import CompactStandardLibrary;
import "../../ShieldedToken" prefix ShieldedToken_;
import "../../../ShieldedToken" prefix ShieldedToken_;

export {
ZswapCoinPublicKey,
Expand Down
2 changes: 1 addition & 1 deletion contracts/src/archive/test/utils/address.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
encodeCoinPublicKey,
} from '@midnight-ntwrk/compact-runtime';
import { encodeContractAddress } from '@midnight-ntwrk/ledger-v7';
import type * as Compact from '../../../../artifacts/MockShieldedToken/contract/index.js';
import type * as Compact from '../../../../artifacts/ShieldedToken.mock/contract/index.js';

const PREFIX_ADDRESS = '0200';

Expand Down
6 changes: 0 additions & 6 deletions contracts/src/archive/witnesses/ShieldedTokenWitnesses.ts

This file was deleted.

2 changes: 1 addition & 1 deletion contracts/src/security/test/Initializable.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, it } from 'vitest';
import { InitializableSimulator } from './simulators/InitializableSimulator.js';
import { InitializableSimulator } from './mocks/InitializableSimulator.js';

let initializable: InitializableSimulator;

Expand Down
2 changes: 1 addition & 1 deletion contracts/src/security/test/Pausable.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { beforeEach, describe, expect, it } from 'vitest';
import { PausableSimulator } from './simulators/PausableSimulator.js';
import { PausableSimulator } from './mocks/PausableSimulator.js';

let pausable: PausableSimulator;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import {
import {
ledger,
Contract as MockInitializable,
} from '../../../../artifacts/MockInitializable/contract/index.js';
import {
InitializablePrivateState,
InitializableWitnesses,
} from '../../witnesses/InitializableWitnesses.js';
} from '../../../../artifacts/Initializable.mock/contract/index.js';

type InitializablePrivateState = Record<string, never>;
const InitializablePrivateState: InitializablePrivateState = {};
const InitializableWitnesses = () => ({});

/**
* Type constructor args
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import {
import {
ledger,
Contract as MockPausable,
} from '../../../../artifacts/MockPausable/contract/index.js';
import {
PausablePrivateState,
PausableWitnesses,
} from '../../witnesses/PausableWitnesses.js';
} from '../../../../artifacts/Pausable.mock/contract/index.js';

type PausablePrivateState = Record<string, never>;
const PausablePrivateState: PausablePrivateState = {};
const PausableWitnesses = () => ({});

/**
* Type constructor args
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
pragma language_version >= 0.21.0;

import CompactStandardLibrary;
import "../../Initializable" prefix Initializable_;
import "../../../Initializable" prefix Initializable_;

export { Initializable__isInitialized };

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
pragma language_version >= 0.21.0;

import CompactStandardLibrary;
import "../../Pausable" prefix Pausable_;
import "../../../Pausable" prefix Pausable_;

export { Pausable__isPaused };

Expand Down
6 changes: 0 additions & 6 deletions contracts/src/security/witnesses/InitializableWitnesses.ts

This file was deleted.

6 changes: 0 additions & 6 deletions contracts/src/security/witnesses/PausableWitnesses.ts

This file was deleted.

2 changes: 1 addition & 1 deletion contracts/src/token/test/FungibleToken.test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
import * as utils from '#test-utils/address.js';
import { FungibleTokenSimulator } from './simulators/FungibleTokenSimulator.js';
import { FungibleTokenSimulator } from './mocks/FungibleTokenSimulator.js';

// Metadata
const EMPTY_STRING = '';
Expand Down
Loading
Loading