From 8d02ebe4ec50b2c931ab8d35ebde9b7fdde7a46e Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Wed, 25 Sep 2024 17:04:54 +0530 Subject: [PATCH] Increment package version --- package.json | 2 +- src/auction.test.ts | 84 ++++++++++++++++++----------------- src/authority-auction.test.ts | 6 +-- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/package.json b/package.json index f57c72b..f67f3d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cerc-io/registry-sdk", - "version": "0.2.9", + "version": "0.2.10", "main": "dist/index.js", "types": "dist/index.d.ts", "repository": "git@github.com:cerc-io/registry-sdk.git", diff --git a/src/auction.test.ts b/src/auction.test.ts index 2efdc61..2f31b1b 100644 --- a/src/auction.test.ts +++ b/src/auction.test.ts @@ -6,14 +6,14 @@ import { INVALID_BID_ERROR, OWNER_MISMATCH_ERROR, RELEASE_FUNDS_ERROR } from './ jest.setTimeout(30 * 60 * 1000); const { chainId, rpcEndpoint, gqlEndpoint, privateKey, fee } = getConfig(); -const duration = 60; -const txFees = Number(fee.amount[0].amount); -const commitFee = '1000'; -const revealFee = '1000'; +const DURATION = 60; +const TX_FEES = Number(fee.amount[0].amount); +const COMMIT_FEE = '1000'; +const REVEAL_FEE = '1000'; -const creatorInitialBalance = 1000000000000; -const bidderInitialBalance = 20000000; -const lowestBidAmount = 10000000; +const CREATOR_INITIAL_BALANCE = 1000000000000; +const BIDDER_INITIAL_BALANCE = 20000000; +const LOWEST_BID_AMOUNT = 10000000; const auctionTests = () => { let registry: Registry; @@ -29,14 +29,14 @@ const auctionTests = () => { registry = new Registry(gqlEndpoint, rpcEndpoint, { chainId }); // Create auction creator account - const auctionCreator = await createTestAccounts(1); - await registry.sendCoins({ denom: DENOM, amount: creatorInitialBalance.toString(), destinationAddress: auctionCreator[0].address }, privateKey, fee); - auctionCreatorAccount = { address: auctionCreator[0].address, privateKey: auctionCreator[0].privateKey.toString('hex') }; + const [auctionCreator] = await createTestAccounts(1); + await registry.sendCoins({ denom: DENOM, amount: CREATOR_INITIAL_BALANCE.toString(), destinationAddress: auctionCreator.address }, privateKey, fee); + auctionCreatorAccount = { address: auctionCreator.address, privateKey: auctionCreator.privateKey.toString('hex') }; // Create bidder accounts const accounts = await createTestAccounts(numBidders); for (let i = 0; i < numBidders; i++) { - await registry.sendCoins({ denom: DENOM, amount: bidderInitialBalance.toString(), destinationAddress: accounts[i].address }, privateKey, fee); + await registry.sendCoins({ denom: DENOM, amount: BIDDER_INITIAL_BALANCE.toString(), destinationAddress: accounts[i].address }, privateKey, fee); bidderAccounts.push({ address: accounts[i].address, privateKey: accounts[i].privateKey.toString('hex') }); } }); @@ -46,11 +46,11 @@ const auctionTests = () => { const auction = await registry.createAuction( { - commitsDuration: duration.toString(), - revealsDuration: duration.toString(), + commitsDuration: DURATION.toString(), + revealsDuration: DURATION.toString(), denom: DENOM, - commitFee, - revealFee, + commitFee: COMMIT_FEE, + revealFee: REVEAL_FEE, minimumBid }, auctionCreatorAccount.privateKey, @@ -58,13 +58,15 @@ const auctionTests = () => { ); expect(auction.auction?.id).toBeDefined(); - auctionId = auction.auction?.id || ''; + + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + auctionId = auction.auction!.id; expect(auction.auction?.status).toEqual('commit'); }); test('Commit bids.', async () => { for (let i = 0; i < numBidders; i++) { - bidAmounts.push((lowestBidAmount + (i * 500)).toString()); + 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); } @@ -78,7 +80,7 @@ const auctionTests = () => { }); test('Wait for reveal phase.', (done) => { - const commitTime = duration * 1000; + const commitTime = DURATION * 1000; const waitTime = commitTime + (6 * 1000); setTimeout(done, waitTime); @@ -107,13 +109,13 @@ const auctionTests = () => { // Check that the bid amounts are locked after reveal phase for (let i = 0; i < numBidders; i++) { // The bid amount, commit fee, reveal fee and tx fees (for commit and reveal txs) will be deducted from the bidder's acoount - const expectedBalance = bidderInitialBalance - parseInt(bidAmounts[i]) - (2 * txFees) - parseInt(commitFee) - parseInt(revealFee); + const expectedBalance = BIDDER_INITIAL_BALANCE - parseInt(bidAmounts[i]) - (2 * TX_FEES) - parseInt(COMMIT_FEE) - parseInt(REVEAL_FEE); await checkAccountBalance(registry, bidderAccounts[i].address, expectedBalance); } }); test('Wait for auction completion.', (done) => { - const revealTime = duration * 1000; + const revealTime = DURATION * 1000; const waitTime = revealTime + (6 * 1000); setTimeout(done, waitTime); @@ -135,7 +137,7 @@ const auctionTests = () => { const winningPriceAmount = parseInt(auction.winnerPrice.quantity); // The winning price will get deducted after auction completion - const expectedBalance = bidderInitialBalance - winningPriceAmount - (2 * txFees) - parseInt(commitFee); + const expectedBalance = BIDDER_INITIAL_BALANCE - winningPriceAmount - (2 * TX_FEES) - parseInt(COMMIT_FEE); await checkAccountBalance(registry, highestBidder.address, expectedBalance); }); }; @@ -152,20 +154,20 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number let otherAccount: { address: string, privateKey: string }; const numBidders = bidAmounts.length; - const maxPrice = 10 * lowestBidAmount; + const maxPrice = 10 * LOWEST_BID_AMOUNT; beforeAll(async () => { registry = new Registry(gqlEndpoint, rpcEndpoint, { chainId }); // Create auction creator account - const auctionCreator = await createTestAccounts(1); - await registry.sendCoins({ denom: DENOM, amount: creatorInitialBalance.toString(), destinationAddress: auctionCreator[0].address }, privateKey, fee); - auctionCreatorAccount = { address: auctionCreator[0].address, privateKey: auctionCreator[0].privateKey.toString('hex') }; + const [auctionCreator] = await createTestAccounts(1); + await registry.sendCoins({ denom: DENOM, amount: CREATOR_INITIAL_BALANCE.toString(), destinationAddress: auctionCreator.address }, privateKey, fee); + auctionCreatorAccount = { address: auctionCreator.address, privateKey: auctionCreator.privateKey.toString('hex') }; // Create bidder accounts const accounts = await createTestAccounts(numBidders); for (let i = 0; i < numBidders; i++) { - await registry.sendCoins({ denom: DENOM, amount: bidderInitialBalance.toString(), destinationAddress: accounts[i].address }, privateKey, fee); + await registry.sendCoins({ denom: DENOM, amount: BIDDER_INITIAL_BALANCE.toString(), destinationAddress: accounts[i].address }, privateKey, fee); bidderAccounts.push({ address: accounts[i].address, privateKey: accounts[i].privateKey.toString('hex') }); } @@ -173,18 +175,18 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number const otherAcc = await Account.generateFromMnemonic(mnenonic3); await otherAcc.init(); - await registry.sendCoins({ denom: DENOM, amount: creatorInitialBalance.toString(), destinationAddress: otherAcc.address }, privateKey, fee); + await registry.sendCoins({ denom: DENOM, amount: CREATOR_INITIAL_BALANCE.toString(), destinationAddress: otherAcc.address }, privateKey, fee); otherAccount = { address: otherAcc.address, privateKey: otherAcc.privateKey.toString('hex') }; }); test('Create a provider auction', async () => { const auction = await registry.createProviderAuction( { - commitsDuration: duration.toString(), - revealsDuration: duration.toString(), + commitsDuration: DURATION.toString(), + revealsDuration: DURATION.toString(), denom: DENOM, - commitFee, - revealFee, + commitFee: COMMIT_FEE, + revealFee: REVEAL_FEE, maxPrice: maxPrice.toString(), numProviders }, @@ -192,11 +194,13 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number ); expect(auction.auction?.id).toBeDefined(); - auctionId = auction.auction?.id || ''; + + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + auctionId = auction.auction!.id; expect(auction.auction?.status).toEqual('commit'); // The locked amount and tx fees are deducted from the auction creator's account - const expectedBalance = creatorInitialBalance - (maxPrice * numProviders) - txFees; + const expectedBalance = CREATOR_INITIAL_BALANCE - (maxPrice * numProviders) - TX_FEES; await checkAccountBalance(registry, auctionCreatorAccount.address, expectedBalance); }); @@ -225,7 +229,7 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number }); test('Wait for reveal phase.', (done) => { - const commitTime = duration * 1000; + const commitTime = DURATION * 1000; const waitTime = commitTime + (6 * 1000); setTimeout(done, waitTime); @@ -268,7 +272,7 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number }); test('Wait for auction completion.', (done) => { - const revealTime = duration * 1000; + const revealTime = DURATION * 1000; const waitTime = revealTime + (6 * 1000); setTimeout(done, waitTime); @@ -292,7 +296,7 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number // The total winning amount will get deducted and the leftover locked amount is returned const totalWinningAmount = parseInt(auction.winnerPrice.quantity) * winningBidders.length; - const expectedCreatorBalance = creatorInitialBalance - totalWinningAmount - txFees; + const expectedCreatorBalance = CREATOR_INITIAL_BALANCE - totalWinningAmount - TX_FEES; await checkAccountBalance(registry, auctionCreatorAccount.address, expectedCreatorBalance); // Funds should not be given to winners on auction completion @@ -302,7 +306,7 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number expect(auction.winnerAddresses[i]).toEqual(bidWinner.address); expect(`${auction.winnerBids[i].quantity}${auction.winnerBids[i].type}`).toEqual(bidWinner.bid.reveal.bidAmount); - const expectedBidderBalance = bidderInitialBalance - (2 * txFees) - parseInt(commitFee); + const expectedBidderBalance = BIDDER_INITIAL_BALANCE - (2 * TX_FEES) - parseInt(COMMIT_FEE); await checkAccountBalance(registry, bidWinner.address, expectedBidderBalance); } }); @@ -328,7 +332,7 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number expect(auctionObj.auction?.fundsReleased).toBe(true); // Auction winners get the winning amount after funds are released - const expectedBidderBalance = bidderInitialBalance + winningBidAmount - (2 * txFees) - parseInt(commitFee); + const expectedBidderBalance = BIDDER_INITIAL_BALANCE + winningBidAmount - (2 * TX_FEES) - parseInt(COMMIT_FEE); for (let i = 0; i < winningBidders.length; i++) { const bidWinner = winningBidders[i]; @@ -342,10 +346,10 @@ const providerAuctionTestsWithBids = (bidAmounts: number[], numProviders: number for (const bidder of losingBidders) { let expectedBidderBalance: number; if (invalidBidderAddress !== bidder.address) { - expectedBidderBalance = bidderInitialBalance - (2 * txFees) - parseInt(commitFee); + expectedBidderBalance = BIDDER_INITIAL_BALANCE - (2 * TX_FEES) - parseInt(COMMIT_FEE); } else { // Bid is invalid, reveal fees are not returned - expectedBidderBalance = bidderInitialBalance - (2 * txFees) - parseInt(commitFee) - parseInt(revealFee); + expectedBidderBalance = BIDDER_INITIAL_BALANCE - (2 * TX_FEES) - parseInt(COMMIT_FEE) - parseInt(REVEAL_FEE); } await checkAccountBalance(registry, bidder.address, expectedBidderBalance); diff --git a/src/authority-auction.test.ts b/src/authority-auction.test.ts index 1f7f37e..6fcfffb 100644 --- a/src/authority-auction.test.ts +++ b/src/authority-auction.test.ts @@ -5,7 +5,7 @@ import { DENOM } from './constants'; jest.setTimeout(30 * 60 * 1000); const { chainId, rpcEndpoint, gqlEndpoint, privateKey, fee } = getConfig(); -const duration = 60; +const DURATION = 60; const auctionTests = (numBidders = 3) => { let registry: Registry; @@ -67,7 +67,7 @@ const auctionTests = (numBidders = 3) => { }); test('Wait for reveal phase.', (done) => { - const commitTime = duration * 1000; + const commitTime = DURATION * 1000; const waitTime = commitTime + (6 * 1000); setTimeout(done, waitTime); @@ -92,7 +92,7 @@ const auctionTests = (numBidders = 3) => { }); test('Wait for auction completion.', (done) => { - const revealTime = duration * 1000; + const revealTime = DURATION * 1000; const waitTime = revealTime + (6 * 1000); setTimeout(done, waitTime);