@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
113 lines (107 loc) • 3.79 kB
text/typescript
import { describe, expect, it } from 'vitest';
import {
loadSystemParamsFromFile,
mkCDPCreatorValidatorFromSP,
mkInterestOracleValidator,
mkRobValidatorFromSP,
mkCdpValidatorFromSP,
mkExecuteValidatorFromSP,
mkCollectorValidatorFromSP,
mkInterestCollectionValidatorFromSP,
mkTreasuryValidatorFromSP,
} from '../src';
import { validatorToScriptHash } from '@lucid-evolution/lucid';
import { mkStabilityPoolValidatorFromSP } from '../src/contracts/stability-pool/scripts';
import { mkGovValidatorFromSP } from '../src/contracts/gov/scripts';
import { mkStakingValidatorFromSP } from '../src/contracts/staking/scripts';
import { mkStableswapValidatorFromSP } from '../src/contracts/stableswap/scripts';
const systemParams = loadSystemParamsFromFile(
'./tests/data/system-params.json',
);
describe('Validator Hash checks', () => {
it.todo('CDP Creator validator hash', () => {
expect(
validatorToScriptHash(
mkCDPCreatorValidatorFromSP(systemParams.cdpCreatorParams),
),
).toBe(systemParams.validatorHashes.cdpCreatorHash);
});
it.todo('CDP validator hash', () => {
expect(
validatorToScriptHash(mkCdpValidatorFromSP(systemParams.cdpParams)),
).toBe(systemParams.validatorHashes.cdpHash);
});
it.todo('Collector validator hash', () => {
expect(
validatorToScriptHash(
mkCollectorValidatorFromSP(systemParams.collectorParams),
),
).toBe(systemParams.validatorHashes.collectorHash);
});
it.todo('Interest collector validator hash', () => {
expect(
validatorToScriptHash(
mkInterestCollectionValidatorFromSP(
systemParams.interestCollectionParams,
),
),
).toBe(systemParams.validatorHashes.interestCollectionHash);
});
// TODO: Revisit this test, issues with cbor encoding on Lucid?
// Applying parameters to the validator using `aiken build` does not result in the same hash as the one generate by Lucid.
it.todo('Execute validator hash', () => {
expect(
validatorToScriptHash(
mkExecuteValidatorFromSP(systemParams.executeParams),
),
).toBe(systemParams.validatorHashes.executeHash);
});
it.todo('Gov validator hash', () => {
expect(
validatorToScriptHash(mkGovValidatorFromSP(systemParams.govParams)),
).toBe(systemParams.validatorHashes.govHash);
});
it.todo('Staking validator hash', () => {
expect(
validatorToScriptHash(
mkStakingValidatorFromSP(systemParams.stakingParams),
),
).toBe(systemParams.validatorHashes.stakingHash);
});
it.todo('Stability Pool validator hash', () => {
expect(
validatorToScriptHash(
mkStabilityPoolValidatorFromSP(systemParams.stabilityPoolParams),
),
).toBe(systemParams.validatorHashes.stabilityPoolHash);
});
it.todo('Stableswap validator hash', () => {
expect(
validatorToScriptHash(
mkStableswapValidatorFromSP(systemParams.stableswapParams),
),
).toBe(systemParams.validatorHashes.stabilityPoolHash);
});
it.todo('Interest Oracle validator hash', () => {
expect(
validatorToScriptHash(
mkInterestOracleValidator({
biasTime: 1_200_000n,
owner: 'a962c79bd58fc9fcecd78f8a963e0ce80e907264cd86cd5814d87333',
}),
),
).toBe('b970b3e0e1b591840627e6919898c12ee57e2f0225ab03e056d10d52');
});
it.todo('ROB validator hash', () => {
expect(
validatorToScriptHash(mkRobValidatorFromSP(systemParams.robParams)),
).toBe(systemParams.validatorHashes.robHash);
});
it.todo('Treasury validator hash', () => {
expect(
validatorToScriptHash(
mkTreasuryValidatorFromSP(systemParams.treasuryParams),
),
).toBe(systemParams.validatorHashes.treasuryHash);
});
});