Author SHA1 Message Date
prathamesh 9cda102643 Use laconicd mainnet for tests
Lint & Build / lint_and_build (20.x) (pull_request) Successful in 37s
Tests / sdk_tests (pull_request) Has been cancelled
2025-05-13 12:23:01 +05:30
prathamesh 25df41460e Update token denom for mainnet
Lint & Build / lint_and_build (20.x) (pull_request) Successful in 39s
Tests / sdk_tests (pull_request) Has been cancelled
2025-05-13 12:17:53 +05:30
prathamesh 04d176eb55 Make txs in parallel in auction tests to reduce run time (#30)
Tests / sdk_tests (push) Successful in 31m36s
Part of [Service provider auctions](https://www.notion.so/Service-provider-auctions-a7b63697d818479493ec145ea6ea3c1c)

Reviewed-on: #30
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-committed-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-10-30 05:45:17 +00:00
5 changed files with 27 additions and 24 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
path: "./laconicd/"
repository: cerc-io/laconicd
fetch-depth: 0
ref: main
ref: mainnet
- name: Environment
run: ls -tlh && env
+18 -15
View File
@@ -67,10 +67,13 @@ const auctionTests = () => {
test('Commit bids.', async () => {
for (let i = 0; i < numBidders; i++) {
bidAmounts.push((LOWEST_BID_AMOUNT + (i * 500)).toString());
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccounts[i].address, `${bidAmounts[i]}${DENOM}`);
await registry.commitBid({ auctionId, commitHash: bidderAccounts[i].bid.commitHash }, bidderAccounts[i].privateKey, fee);
}
await Promise.all(bidderAccounts.map(async (bidderAccount, i) => {
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccount.address, `${bidAmounts[i]}${DENOM}`);
return registry.commitBid({ auctionId, commitHash: bidderAccount.bid.commitHash }, bidderAccount.privateKey, fee);
}));
const [auction] = await registry.getAuctionsByIds([auctionId]);
expect(auction.status).toEqual('commit');
expect(auction.bids.length).toEqual(3);
@@ -90,9 +93,9 @@ const auctionTests = () => {
const [auction] = await registry.getAuctionsByIds([auctionId]);
expect(auction.status).toEqual('reveal');
for (let i = 0; i < numBidders; i++) {
await registry.revealBid({ auctionId, reveal: bidderAccounts[i].bid.revealString }, bidderAccounts[i].privateKey, fee);
}
await Promise.all(bidderAccounts.map(async bidderAccount => {
return registry.revealBid({ auctionId, reveal: bidderAccount.bid.revealString }, bidderAccount.privateKey, fee);
}));
});
test('Check bids are revealed', async () => {
@@ -175,7 +178,7 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number
const otherAcc = await Account.generateFromMnemonic(mnenonic3);
await otherAcc.init();
await registry.sendCoins({ denom: DENOM, amount: CREATOR_INITIAL_BALANCE.toString(), destinationAddress: otherAcc.address }, privateKey, fee);
await registry.sendCoins({ denom: DENOM, amount: BIDDER_INITIAL_BALANCE.toString(), destinationAddress: otherAcc.address }, privateKey, fee);
otherAccount = { address: otherAcc.address, privateKey: otherAcc.privateKey.toString('hex') };
});
@@ -205,10 +208,10 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number
});
test('Commit bids.', async () => {
for (let i = 0; i < numBidders; i++) {
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccounts[i].address, `${bidAmounts[i]}${DENOM}`);
await registry.commitBid({ auctionId, commitHash: bidderAccounts[i].bid.commitHash }, bidderAccounts[i].privateKey, fee);
}
await Promise.all(bidderAccounts.map(async (bidderAccount, i) => {
bidderAccounts[i].bid = await createBid(chainId, auctionId, bidderAccount.address, `${bidAmounts[i]}${DENOM}`);
return registry.commitBid({ auctionId, commitHash: bidderAccount.bid.commitHash }, bidderAccount.privateKey, fee);
}));
sortedBidders = bidderAccounts.slice().sort((a, b) => {
return parseInt(a.bid.reveal.bidAmount) - parseInt(b.bid.reveal.bidAmount);
@@ -239,21 +242,21 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number
const [auction] = await registry.getAuctionsByIds([auctionId]);
expect(auction.status).toEqual('reveal');
for (let i = 0; i < numBidders; i++) {
await Promise.all(bidderAccounts.map(async bidderAccount => {
try {
await registry.revealBid(
{ auctionId, reveal: bidderAccounts[i].bid.revealString },
bidderAccounts[i].privateKey,
{ auctionId, reveal: bidderAccount.bid.revealString },
bidderAccount.privateKey,
fee
);
} catch (error: any) {
if (invalidBidderAddress === bidderAccounts[i].address) {
if (bidderAccount.address === invalidBidderAddress) {
expect(error.toString()).toContain(INVALID_BID_ERROR);
} else {
throw error;
}
}
}
}));
});
test('Check bids are revealed', async () => {
+5 -5
View File
@@ -23,7 +23,7 @@ const configTests = () => {
test('StdFee fees with gas price not set', async () => {
const testFees = {
amount: [{ denom: 'alnt', amount: '400000' }],
amount: [{ denom: DENOM, amount: '400000' }],
gas: '400000'
};
@@ -37,12 +37,12 @@ const configTests = () => {
test('StdFee fees with gas price set', async () => {
const testFees = {
amount: [{ denom: 'alnt', amount: '400000' }],
amount: [{ denom: DENOM, amount: '400000' }],
gas: '400000'
};
// Set gas price lower than min gas price
const testGasPrice = GasPrice.fromString(String('0.00001alnt'));
const testGasPrice = GasPrice.fromString(`0.00001${DENOM}`);
const registry = new Registry(gqlEndpoint, rpcEndpoint, { chainId, gasPrice: testGasPrice });
// Send a bond creation tx
@@ -55,7 +55,7 @@ const configTests = () => {
test('Gas price with fees not set (default gas estimation multiplier)', async () => {
// Set gas price
const testGasPrice = GasPrice.fromString('1alnt');
const testGasPrice = GasPrice.fromString(`1${DENOM}`);
const registry = new Registry(gqlEndpoint, rpcEndpoint, { chainId, gasPrice: testGasPrice });
// Send a bond creation tx
@@ -70,7 +70,7 @@ const configTests = () => {
const testFees = 2.1;
// Set gas price
const testGasPrice = GasPrice.fromString('1alnt');
const testGasPrice = GasPrice.fromString(`1${DENOM}`);
const registry = new Registry(gqlEndpoint, rpcEndpoint, { chainId, gasPrice: testGasPrice });
// Send a bond creation tx
+1 -1
View File
@@ -1,4 +1,4 @@
export const DENOM = 'alnt';
export const DENOM = 'alps';
export const DEFAULT_GAS_ESTIMATION_MULTIPLIER = 2;
export const AUCTION_KIND_VICKREY = 'vickrey';
+2 -2
View File
@@ -2,7 +2,7 @@ import assert from 'assert';
import yaml from 'node-yaml';
import semver from 'semver';
import { Account, Registry } from '../index';
import { Account, DENOM } from '../index';
const DEFAULT_CHAIN_ID = 'laconic_9000-1';
@@ -30,7 +30,7 @@ export const getConfig = () => {
rpcEndpoint: process.env.LACONICD_RPC_ENDPOINT || 'http://localhost:26657',
gqlEndpoint: process.env.LACONICD_GQL_ENDPOINT || 'http://localhost:9473/api',
fee: {
amount: [{ denom: 'alnt', amount: '200000' }],
amount: [{ denom: DENOM, amount: '200000' }],
gas: '200000'
}
};