@indigo-labs/indigo-sdk
Version:
Indigo SDK for interacting with Indigo endpoints via lucid-evolution
38 lines (31 loc) • 1.06 kB
text/typescript
import { Assets, Data, UTxO } from '@lucid-evolution/lucid';
import { createScriptAddress, SystemParams } from '../../src';
import { IndigoTestContext, runAndAwaitTxBuilder } from '../test-helpers';
import { getNewUtxosAtAddressAfterAction } from '../utils';
export async function createUtxosAtInterestCollector(
utxosNo: number,
assets: Assets,
sysParams: SystemParams,
context: IndigoTestContext,
): Promise<UTxO[]> {
const interestCollectorAddr = createScriptAddress(
context.lucid.config().network!,
sysParams.validatorHashes.interestCollectionHash,
);
const tx = context.lucid.newTx();
for (let i = 0; i < utxosNo; i++) {
tx.pay.ToContract(
interestCollectorAddr,
{ kind: 'inline', value: Data.void() },
assets,
);
}
const [_, utxos] = await getNewUtxosAtAddressAfterAction(
context.lucid,
interestCollectorAddr,
() => runAndAwaitTxBuilder(context.lucid, tx),
);
if (utxos.length !== utxosNo)
throw Error('Expected a different number of interest collectors');
return utxos;
}