UNPKG

@indigo-labs/indigo-sdk

Version:

Indigo SDK for interacting with Indigo endpoints via lucid-evolution

113 lines (107 loc) 3.79 kB
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); }); });