Some more changes

This commit is contained in:
Jordan Prince 2021-04-25 23:52:31 -05:00
parent 38c1d6666d
commit e658d81eed
3 changed files with 86 additions and 58 deletions

View File

@ -529,7 +529,7 @@ export async function createMasterEdition(
const metadataAccount = (
await PublicKey.findProgramAddress(
[
Buffer.from('metadata'),
Buffer.from(METADATA_PREFIX),
metadataProgramId.toBuffer(),
mintKey.toBuffer(),
],
@ -540,7 +540,7 @@ export async function createMasterEdition(
const nameSymbolAccount = (
await PublicKey.findProgramAddress(
[
Buffer.from('metadata'),
Buffer.from(METADATA_PREFIX),
metadataProgramId.toBuffer(),
Buffer.from(name),
Buffer.from(symbol),
@ -552,10 +552,10 @@ export async function createMasterEdition(
const editionAccount = (
await PublicKey.findProgramAddress(
[
Buffer.from('metadata'),
Buffer.from(METADATA_PREFIX),
metadataProgramId.toBuffer(),
mintKey.toBuffer(),
Buffer.from('edition'),
Buffer.from(EDITION),
],
metadataProgramId,
)

View File

@ -1,39 +1,33 @@
import React, { useEffect, useState } from 'react';
import {
Row,
Col,
Divider,
Button,
InputNumber
} from 'antd'
import { Row, Col, Divider, Button, InputNumber } from 'antd';
import { Auction, Presale } from '../../types'
import { Auction, Presale } from '../../types';
import './index.less'
import { getCountdown } from '../../utils/utils'
import './index.less';
import { getCountdown } from '../../utils/utils';
import { shortenAddress } from '@oyster/common';
export const AuctionCard = ({ auction }: { auction: Auction }) => {
const [hours, setHours] = useState<number>(23)
const [minutes, setMinutes] = useState<number>(59)
const [seconds, setSeconds] = useState<number>(59)
const [hours, setHours] = useState<number>(23);
const [minutes, setMinutes] = useState<number>(59);
const [seconds, setSeconds] = useState<number>(59);
useEffect(() => {
const interval = setInterval(() => {
const { hours, minutes, seconds } = getCountdown(auction.endingTS)
const { hours, minutes, seconds } = getCountdown(auction.endingTS);
setHours(hours)
setMinutes(minutes)
setSeconds(seconds)
}, 1000)
return () => clearInterval(interval)
}, [])
setHours(hours);
setMinutes(minutes);
setSeconds(seconds);
}, 1000);
return () => clearInterval(interval);
}, []);
return (
<div className="presale-card-container">
<div className="info-header">STARTING BID</div>
<div style={{ fontWeight: 700, fontSize: '1.6rem' }}>40.00</div>
<br/>
<br />
<div className="info-header">AUCTION ENDS IN</div>
<Row style={{ width: 300 }}>
<Col span={8}>
@ -49,13 +43,17 @@ export const AuctionCard = ({ auction }: { auction: Auction }) => {
<div className="cd-label">seconds</div>
</Col>
</Row>
<br/>
<div className="info-content" style={{ color: 'rgba(255, 255, 255, 0.7)', fontSize: '0.9rem' }}>
Any bids placed in the last 15 minutes will extend the auction for another 15 minutes.
<br />
<div
className="info-content"
style={{ color: 'rgba(255, 255, 255, 0.7)', fontSize: '0.9rem' }}
>
Any bids placed in the last 15 minutes will extend the auction for
another 15 minutes.
</div>
<br />
<div className="info-line"/>
<div className="info-line" />
<InputNumber
autoFocus
@ -70,29 +68,36 @@ export const AuctionCard = ({ auction }: { auction: Auction }) => {
// }
/>
<div className="info-content" style={{ color: 'rgba(255, 255, 255, 0.7)', fontSize: '0.9rem' }}>
<div
className="info-content"
style={{ color: 'rgba(255, 255, 255, 0.7)', fontSize: '0.9rem' }}
>
Your Balance: {0.0} (${0.0})
</div>
<Button
type="primary"
size="large"
className="action-btn"
style={{ marginTop: 20 }}
>
PLACE BID
type="primary"
size="large"
className="action-btn"
style={{ marginTop: 20 }}
>
PLACE BID
</Button>
</div>
)
}
);
};
export const AuctionBidders = (auctionID: string) => {
const bids = [];
return <Col>
{bids.map((bid, index) => {
return <Row>{index+1}. {shortenAddress(bid.address)} {bi}</Row>
})}
</Col>
const bids: any = [];
return (
<Col>
{bids.map((bid: any, index: number) => {
return (
<Row>
{index + 1}. {shortenAddress(bid.address)}
</Row>
);
})}
</Col>
);
};

View File

@ -46,6 +46,7 @@ import {
AuctionManagerSettings,
AuctionManagerState,
AuctionManagerStatus,
EditionType,
NonWinningConstraint,
SCHEMA,
WinningConstraint,
@ -140,6 +141,7 @@ export const AuctionCreateView = () => {
const createAuction = async () => {
let settings: AuctionManagerSettings;
let winnerLimit: WinnerLimit;
if (attributes.category == AuctionCategory.Open) {
settings = {
openEditionWinnerConstraint: WinningConstraint.OpenEditionGiven,
@ -149,21 +151,42 @@ export const AuctionCreateView = () => {
openEditionFixedPrice: undefined,
};
const winnerLimit = new WinnerLimit({ type: WinnerLimitType.Unlimited });
await createAuctionManager(
connection,
wallet,
settings,
winnerLimit,
new BN((attributes.auctionDuration || 1) * 60),
new BN((attributes.gapTime || 1) * 60),
[attributes.items[0]],
new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'),
);
winnerLimit = new WinnerLimit({ type: WinnerLimitType.Unlimited });
} else if (attributes.category == AuctionCategory.Single) {
settings = {
openEditionWinnerConstraint: WinningConstraint.NoOpenEdition,
openEditionNonWinningConstraint: NonWinningConstraint.NoOpenEdition,
winningConfigs: [
{
safetyDepositBoxIndex: 0,
amount: 1,
hasAuthority: false,
editionType: attributes.items[0].masterEdition
? EditionType.MasterEdition
: EditionType.NA,
},
],
openEditionConfig: undefined,
openEditionFixedPrice: undefined,
};
winnerLimit = new WinnerLimit({
type: WinnerLimitType.Capped,
usize: new BN(1),
});
} else {
throw new Error('Not supported');
}
await createAuctionManager(
connection,
wallet,
settings,
winnerLimit,
new BN((attributes.auctionDuration || 1) * 60),
new BN((attributes.gapTime || 1) * 60),
[attributes.items[0]],
new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'),
);
};
const categoryStep = (