@zero-tech/zauction-sdk 0.2.9 → 0.2.11
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/actions/approveSpender.d.ts.map +1 -1
- package/lib/actions/approveSpender.js +3 -1
- package/lib/actions/approveSpender.js.map +1 -1
- package/lib/actions/cancelBid.d.ts.map +1 -1
- package/lib/actions/cancelBid.js.map +1 -1
- package/lib/actions/getPaymentTokenAllowance.d.ts.map +1 -1
- package/lib/actions/getPaymentTokenAllowance.js +3 -1
- package/lib/actions/getPaymentTokenAllowance.js.map +1 -1
- package/lib/api/actions/helpers.d.ts +1 -1
- package/lib/api/actions/helpers.d.ts.map +1 -1
- package/lib/api/actions/helpers.js +2 -2
- package/lib/api/actions/helpers.js.map +1 -1
- package/lib/api/actions/listBidsForAccount.d.ts +1 -1
- package/lib/api/actions/listBidsForAccount.d.ts.map +1 -1
- package/lib/api/actions/listBidsForAccount.js +2 -2
- package/lib/api/actions/listBidsForAccount.js.map +1 -1
- package/lib/api/actions/listBidsForTokens.d.ts +1 -1
- package/lib/api/actions/listBidsForTokens.d.ts.map +1 -1
- package/lib/api/actions/listBidsForTokens.js +2 -2
- package/lib/api/actions/listBidsForTokens.js.map +1 -1
- package/lib/api/actions/submitBid.d.ts.map +1 -1
- package/lib/api/actions/submitBid.js +1 -1
- package/lib/api/actions/submitBid.js.map +1 -1
- package/lib/api/actions/submitCancelMessage.d.ts.map +1 -1
- package/lib/api/actions/submitCancelMessage.js.map +1 -1
- package/lib/api/client.d.ts +2 -2
- package/lib/api/client.d.ts.map +1 -1
- package/lib/api/client.js +5 -5
- package/lib/api/client.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/subgraph/actions/listAllBuyNowListings.d.ts.map +1 -1
- package/lib/subgraph/actions/listAllBuyNowListings.js +1 -0
- package/lib/subgraph/actions/listAllBuyNowListings.js.map +1 -1
- package/lib/subgraph/actions/listAllSales.d.ts.map +1 -1
- package/lib/subgraph/actions/listAllSales.js +1 -0
- package/lib/subgraph/actions/listAllSales.js.map +1 -1
- package/lib/subgraph/actions/listBuyNowSales.js +1 -1
- package/lib/subgraph/actions/listBuyNowSales.js.map +1 -1
- package/lib/subgraph/helpers/index.d.ts.map +1 -1
- package/lib/subgraph/helpers/index.js.map +1 -1
- package/lib/utilities/logging.js +1 -0
- package/lib/utilities/logging.js.map +1 -1
- package/package.json +3 -2
- package/src/actions/acceptBid.ts +167 -0
- package/src/actions/approveDomainTransfer.ts +25 -0
- package/src/actions/approveSpender.ts +27 -0
- package/src/actions/buyNow.ts +109 -0
- package/src/actions/cancelBid.ts +37 -0
- package/src/actions/getBuyNowListing.ts +65 -0
- package/src/actions/getPaymentTokenAllowance.ts +30 -0
- package/src/actions/index.ts +11 -0
- package/src/actions/isZAuctionApproved.ts +20 -0
- package/src/actions/placeBid.ts +102 -0
- package/src/actions/setBuyNowPrice.ts +56 -0
- package/src/actions/setNetworkPaymentToken.ts +46 -0
- package/src/api/actions/encodeBid.ts +44 -0
- package/src/api/actions/encodeCancelMessage.ts +24 -0
- package/src/api/actions/helpers.ts +61 -0
- package/src/api/actions/index.ts +6 -0
- package/src/api/actions/listBidsForAccount.ts +24 -0
- package/src/api/actions/listBidsForTokens.ts +39 -0
- package/src/api/actions/submitBid.ts +28 -0
- package/src/api/actions/submitCancelMessage.ts +30 -0
- package/src/api/client.ts +78 -0
- package/src/api/index.ts +1 -0
- package/src/api/types.ts +47 -0
- package/src/contracts/index.ts +53 -0
- package/src/contracts/types/IERC20.d.ts +294 -0
- package/src/contracts/types/IERC721.d.ts +472 -0
- package/src/contracts/types/IZNSHub.d.ts +578 -0
- package/src/contracts/types/ZAuction.d.ts +1487 -0
- package/src/contracts/types/ZAuctionV1.d.ts +440 -0
- package/src/contracts/types/commons.ts +36 -0
- package/src/contracts/types/factories/IERC20__factory.ts +203 -0
- package/src/contracts/types/factories/IERC721__factory.ts +308 -0
- package/src/contracts/types/factories/IZNSHub__factory.ts +311 -0
- package/src/contracts/types/factories/ZAuctionV1__factory.ts +326 -0
- package/src/contracts/types/factories/ZAuction__factory.ts +1033 -0
- package/src/contracts/types/index.ts +14 -0
- package/src/index.ts +468 -0
- package/src/subgraph/actions/index.ts +4 -0
- package/src/subgraph/actions/listAllBuyNowListings.ts +69 -0
- package/src/subgraph/actions/listAllSales.ts +57 -0
- package/src/subgraph/actions/listBuyNowSales.ts +44 -0
- package/src/subgraph/actions/listSales.ts +33 -0
- package/src/subgraph/client.ts +62 -0
- package/src/subgraph/helpers/index.ts +39 -0
- package/src/subgraph/index.ts +1 -0
- package/src/subgraph/queries.ts +75 -0
- package/src/subgraph/types.ts +58 -0
- package/src/types.ts +181 -0
- package/src/utilities/index.ts +2 -0
- package/src/utilities/logging.ts +27 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
import { BidMessage, BidParameters, SignableBid } from "../types";
|
2
|
+
import { makeApiCall } from "./helpers";
|
3
|
+
import { getLogger } from "../../utilities";
|
4
|
+
|
5
|
+
const logger = getLogger("api:actions:encodeBid");
|
6
|
+
|
7
|
+
interface EncodeBidDto {
|
8
|
+
payload: string;
|
9
|
+
bidNonce: string;
|
10
|
+
nftId: string;
|
11
|
+
}
|
12
|
+
|
13
|
+
export const encodeBid = async (
|
14
|
+
apiUrl: string,
|
15
|
+
bidParams: BidParameters
|
16
|
+
): Promise<SignableBid> => {
|
17
|
+
const uri = `${apiUrl}/bid`;
|
18
|
+
|
19
|
+
logger.trace(
|
20
|
+
`Encoding bid at ${uri} by ${bidParams.bidder} for amount ${bidParams.amount} of ERC20 token ${bidParams.bidToken}`
|
21
|
+
);
|
22
|
+
|
23
|
+
const response = await makeApiCall<EncodeBidDto>(uri, "POST", {
|
24
|
+
bidAmount: bidParams.amount,
|
25
|
+
tokenId: bidParams.tokenId,
|
26
|
+
contractAddress: bidParams.contract,
|
27
|
+
minimumBid: "0",
|
28
|
+
startBlock: bidParams.startBlock,
|
29
|
+
expireBlock: bidParams.expireBlock,
|
30
|
+
bidToken: bidParams.bidToken,
|
31
|
+
});
|
32
|
+
|
33
|
+
const bidToSign: SignableBid = {
|
34
|
+
bid: {
|
35
|
+
bidNonce: response.bidNonce,
|
36
|
+
...bidParams,
|
37
|
+
} as BidMessage,
|
38
|
+
message: response.payload,
|
39
|
+
};
|
40
|
+
logger.trace(
|
41
|
+
`Created bid to sign ${bidToSign.message} with bid nonce ${bidToSign.bid.bidNonce}`
|
42
|
+
);
|
43
|
+
return bidToSign;
|
44
|
+
};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { makeApiCall } from "./helpers";
|
2
|
+
import { getLogger } from "../../utilities";
|
3
|
+
|
4
|
+
const logger = getLogger("api:actions:encodeCancelMessage");
|
5
|
+
|
6
|
+
interface EncodeCancelBidDto {
|
7
|
+
hashedCancelMessage: string;
|
8
|
+
}
|
9
|
+
|
10
|
+
export const encodeCancelMessage = async (
|
11
|
+
apiUrl: string,
|
12
|
+
signedBidMessage: string
|
13
|
+
): Promise<string> => {
|
14
|
+
const uri = `${apiUrl}/bid/cancel/encode`;
|
15
|
+
logger.trace(
|
16
|
+
`Calling to encode a cancel message at ${uri} for bid with a signed message of ${signedBidMessage}`
|
17
|
+
);
|
18
|
+
const response = await makeApiCall<EncodeCancelBidDto>(uri, "POST", {
|
19
|
+
bidMessageSignature: signedBidMessage,
|
20
|
+
});
|
21
|
+
|
22
|
+
logger.trace(`Created message ${response.hashedCancelMessage} for signing`);
|
23
|
+
return response.hashedCancelMessage;
|
24
|
+
};
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import fetch from "cross-fetch";
|
2
|
+
import { Bid } from "../../types";
|
3
|
+
import { BidDto } from "../types";
|
4
|
+
|
5
|
+
export const makeApiCall = async <T>(
|
6
|
+
url: string,
|
7
|
+
method: "GET" | "POST",
|
8
|
+
body?: string | Record<string, unknown>,
|
9
|
+
softFail?: boolean,
|
10
|
+
softFailMessage?: string
|
11
|
+
): Promise<T> => {
|
12
|
+
const headers: Record<string, string> = {};
|
13
|
+
|
14
|
+
if (body) {
|
15
|
+
if (typeof body !== "string") {
|
16
|
+
body = JSON.stringify(body);
|
17
|
+
headers["Content-Type"] = "application/json";
|
18
|
+
headers["Access-Control-Allow-Origin"] = "*";
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
const res = await fetch(url, {
|
23
|
+
method,
|
24
|
+
body,
|
25
|
+
headers,
|
26
|
+
});
|
27
|
+
|
28
|
+
if (res.status !== 200 && !softFail) {
|
29
|
+
throw Error(`Request failed with code ${res.status}: ${await res.text()}`);
|
30
|
+
}
|
31
|
+
|
32
|
+
if (softFail) {
|
33
|
+
const returnedBody = await res.json();
|
34
|
+
returnedBody["softFailMessage"] = softFailMessage;
|
35
|
+
return returnedBody as T;
|
36
|
+
} else {
|
37
|
+
const returnedBody = await res.json();
|
38
|
+
return returnedBody as T;
|
39
|
+
}
|
40
|
+
};
|
41
|
+
|
42
|
+
export const convertBidDtoToBid = (
|
43
|
+
bid: BidDto,
|
44
|
+
wildTokenAddress: string
|
45
|
+
): Bid => {
|
46
|
+
const localBid: Bid = {
|
47
|
+
bidNonce: bid.bidNonce,
|
48
|
+
bidder: bid.account,
|
49
|
+
bidToken: bid.bidToken ?? wildTokenAddress,
|
50
|
+
contract: bid.contractAddress,
|
51
|
+
tokenId: bid.tokenId,
|
52
|
+
amount: bid.bidAmount,
|
53
|
+
startBlock: bid.startBlock,
|
54
|
+
expireBlock: bid.expireBlock,
|
55
|
+
signedMessage: bid.signedMessage,
|
56
|
+
timestamp: bid.date.toString(),
|
57
|
+
version: bid.version,
|
58
|
+
};
|
59
|
+
|
60
|
+
return localBid;
|
61
|
+
};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { Bid } from "../../types";
|
2
|
+
import { BidDto } from "../types";
|
3
|
+
import { convertBidDtoToBid, makeApiCall } from "./helpers";
|
4
|
+
import { getLogger } from "../../utilities";
|
5
|
+
|
6
|
+
const logger = getLogger("api:actions:listBidsForAccount");
|
7
|
+
|
8
|
+
type AccountBidsDto = BidDto[];
|
9
|
+
|
10
|
+
export const listBidsForAccount = async (
|
11
|
+
apiUrl: string,
|
12
|
+
account: string,
|
13
|
+
wildTokenAddress: string
|
14
|
+
): Promise<Bid[]> => {
|
15
|
+
const uri = `${apiUrl}/bids/accounts/${account}`;
|
16
|
+
logger.trace(`Calling ${uri} to get bids for account ${account}`);
|
17
|
+
const response = await makeApiCall<AccountBidsDto>(uri, "GET");
|
18
|
+
|
19
|
+
const bids: Bid[] = response.map((e) =>
|
20
|
+
convertBidDtoToBid(e, wildTokenAddress)
|
21
|
+
);
|
22
|
+
logger.trace(`Found ${bids.length} bids created by $${account}`);
|
23
|
+
return bids;
|
24
|
+
};
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { TokenBidCollection, TokenBidFilter } from "../../types";
|
2
|
+
import { BidDto } from "../types";
|
3
|
+
import { convertBidDtoToBid, makeApiCall } from "./helpers";
|
4
|
+
|
5
|
+
import { getLogger } from "../../utilities";
|
6
|
+
|
7
|
+
const logger = getLogger("api:actions:listBidsForTokens");
|
8
|
+
|
9
|
+
interface BidsBulkDto {
|
10
|
+
[tokenId: string]: BidDto[];
|
11
|
+
}
|
12
|
+
|
13
|
+
export const listBidsForTokens = async (
|
14
|
+
apiUrl: string,
|
15
|
+
wildTokenAddress: string,
|
16
|
+
tokenIds: string[],
|
17
|
+
filter?: TokenBidFilter
|
18
|
+
): Promise<TokenBidCollection> => {
|
19
|
+
const bidCollection: TokenBidCollection = {};
|
20
|
+
let uri = `${apiUrl}/bids/list`;
|
21
|
+
uri = filter ? uri.concat(`?filter=${filter}`) : uri;
|
22
|
+
logger.trace(`Calling ${uri} to get bids for ${tokenIds.length} domains`);
|
23
|
+
const response = await makeApiCall<BidsBulkDto>(uri, "POST", {
|
24
|
+
tokenIds,
|
25
|
+
});
|
26
|
+
|
27
|
+
let totalBidsForDomains = 0;
|
28
|
+
for (const [tokenId, bids] of Object.entries(response)) {
|
29
|
+
bidCollection[tokenId] = bids.map((e) =>
|
30
|
+
convertBidDtoToBid(e, wildTokenAddress)
|
31
|
+
);
|
32
|
+
totalBidsForDomains += bids.length;
|
33
|
+
}
|
34
|
+
logger.trace(
|
35
|
+
`Found ${totalBidsForDomains} bids for $${tokenIds.length} domains`
|
36
|
+
);
|
37
|
+
|
38
|
+
return bidCollection;
|
39
|
+
};
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { SignedBid } from "../types";
|
2
|
+
import { makeApiCall } from "./helpers";
|
3
|
+
import { getLogger } from "../../utilities";
|
4
|
+
|
5
|
+
const logger = getLogger("api:actions:submitBid");
|
6
|
+
|
7
|
+
export const submitBid = async (
|
8
|
+
apiUrl: string,
|
9
|
+
signedBid: SignedBid
|
10
|
+
): Promise<void> => {
|
11
|
+
const uri = `${apiUrl}/bids`;
|
12
|
+
logger.trace(
|
13
|
+
`Calling ${uri} to submit bid with bid nonce ${signedBid.bid.bidNonce}}`
|
14
|
+
);
|
15
|
+
|
16
|
+
await makeApiCall(uri, "POST", {
|
17
|
+
account: signedBid.bid.bidder,
|
18
|
+
bidNonce: signedBid.bid.bidNonce,
|
19
|
+
tokenId: signedBid.bid.tokenId,
|
20
|
+
contractAddress: signedBid.bid.contract,
|
21
|
+
bidAmount: signedBid.bid.amount,
|
22
|
+
signedMessage: signedBid.signedMessage,
|
23
|
+
minimumBid: "0",
|
24
|
+
startBlock: signedBid.bid.startBlock,
|
25
|
+
expireBlock: signedBid.bid.expireBlock,
|
26
|
+
bidToken: signedBid.bid.bidToken,
|
27
|
+
});
|
28
|
+
};
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { makeApiCall } from "./helpers";
|
2
|
+
import { getLogger } from "../../utilities";
|
3
|
+
|
4
|
+
const logger = getLogger("api:actions:submitBid");
|
5
|
+
|
6
|
+
export const submitCancelMessage = async (
|
7
|
+
apiUrl: string,
|
8
|
+
signedCancelMessage: string,
|
9
|
+
signedBidMessage: string
|
10
|
+
): Promise<void> => {
|
11
|
+
const uri = `${apiUrl}/bid/cancel`;
|
12
|
+
logger.trace(
|
13
|
+
`Calling ${uri} to submit cancelled bid with signed message${signedCancelMessage}}`
|
14
|
+
);
|
15
|
+
|
16
|
+
const softFailMessage =
|
17
|
+
"Already cancelled in the API but allowing execution to continue to cancel in the contract as well";
|
18
|
+
|
19
|
+
// Soft fail if the bid isn't found in the API
|
20
|
+
await makeApiCall(
|
21
|
+
uri,
|
22
|
+
"POST",
|
23
|
+
{
|
24
|
+
cancelMessageSignature: signedCancelMessage,
|
25
|
+
bidMessageSignature: signedBidMessage,
|
26
|
+
},
|
27
|
+
true,
|
28
|
+
softFailMessage
|
29
|
+
);
|
30
|
+
};
|
@@ -0,0 +1,78 @@
|
|
1
|
+
import { TokenBidCollection, TokenBidFilter } from "../types";
|
2
|
+
import * as actions from "./actions";
|
3
|
+
import { Bid, BidParameters, SignableBid, SignedBid } from "./types";
|
4
|
+
import { getLogger } from "../utilities";
|
5
|
+
|
6
|
+
export interface ApiClient {
|
7
|
+
encodeBid: (bidParams: BidParameters) => Promise<SignableBid>;
|
8
|
+
submitBid: (signedBid: SignedBid) => Promise<void>;
|
9
|
+
encodeCancelBid: (signedBidMessage: string) => Promise<string>;
|
10
|
+
submitCancelBid: (
|
11
|
+
cancelMessageSignature: string,
|
12
|
+
bidMessageSignature: string
|
13
|
+
) => Promise<void>;
|
14
|
+
listBidsForTokens: (
|
15
|
+
tokenIds: string[],
|
16
|
+
wildTokenAddress: string,
|
17
|
+
filter?: TokenBidFilter
|
18
|
+
) => Promise<TokenBidCollection>;
|
19
|
+
listBidsByAccount: (
|
20
|
+
account: string,
|
21
|
+
wildTokenAddress: string
|
22
|
+
) => Promise<Bid[]>;
|
23
|
+
}
|
24
|
+
|
25
|
+
export const createClient = (apiUri: string): ApiClient => {
|
26
|
+
const logger = getLogger("api:client");
|
27
|
+
const apiClient: ApiClient = {
|
28
|
+
encodeBid: async (bidParams: BidParameters): Promise<SignableBid> => {
|
29
|
+
logger.debug(`Encode bid with params ${bidParams}`);
|
30
|
+
return actions.encodeBid(apiUri, bidParams);
|
31
|
+
},
|
32
|
+
submitBid: (signedBid: SignedBid): Promise<void> => {
|
33
|
+
logger.debug(`Submit bid with signed message ${signedBid.signedMessage}`);
|
34
|
+
return actions.submitBid(apiUri, signedBid);
|
35
|
+
},
|
36
|
+
encodeCancelBid: async (signedBidMessage: string): Promise<string> => {
|
37
|
+
logger.debug(
|
38
|
+
`Encode to cancel a bid with signed message ${signedBidMessage}}`
|
39
|
+
);
|
40
|
+
return actions.encodeCancelMessage(apiUri, signedBidMessage);
|
41
|
+
},
|
42
|
+
submitCancelBid: async (
|
43
|
+
signedCancelMessage: string,
|
44
|
+
signedBidMessage: string
|
45
|
+
): Promise<void> => {
|
46
|
+
logger.debug(
|
47
|
+
`Submit cancelled bid with signed message ${signedCancelMessage}`
|
48
|
+
);
|
49
|
+
actions.submitCancelMessage(
|
50
|
+
apiUri,
|
51
|
+
signedCancelMessage,
|
52
|
+
signedBidMessage
|
53
|
+
);
|
54
|
+
},
|
55
|
+
listBidsForTokens: (
|
56
|
+
tokenIds: string[],
|
57
|
+
wildTokenAddress: string,
|
58
|
+
filter?: TokenBidFilter
|
59
|
+
): Promise<TokenBidCollection> => {
|
60
|
+
logger.debug(`List bids for domains ${tokenIds}`);
|
61
|
+
return actions.listBidsForTokens(
|
62
|
+
apiUri,
|
63
|
+
wildTokenAddress,
|
64
|
+
tokenIds,
|
65
|
+
filter
|
66
|
+
);
|
67
|
+
},
|
68
|
+
listBidsByAccount: (
|
69
|
+
account: string,
|
70
|
+
wildTokenAddress: string
|
71
|
+
): Promise<Bid[]> => {
|
72
|
+
logger.debug(`List bids by account ${account}`);
|
73
|
+
return actions.listBidsForAccount(apiUri, account, wildTokenAddress);
|
74
|
+
},
|
75
|
+
};
|
76
|
+
|
77
|
+
return apiClient;
|
78
|
+
};
|
package/src/api/index.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./client";
|
package/src/api/types.ts
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
export interface BidParamsDto {
|
2
|
+
account: string;
|
3
|
+
bidNonce: string;
|
4
|
+
bidAmount: string;
|
5
|
+
minimumBid: string;
|
6
|
+
contractAddress: string;
|
7
|
+
startBlock: string;
|
8
|
+
expireBlock: string;
|
9
|
+
tokenId: string;
|
10
|
+
bidToken?: string;
|
11
|
+
}
|
12
|
+
|
13
|
+
export interface BidDto extends BidParamsDto {
|
14
|
+
date: number;
|
15
|
+
signedMessage: string;
|
16
|
+
version: "1.0" | "2.0";
|
17
|
+
}
|
18
|
+
|
19
|
+
export interface BidParameters {
|
20
|
+
bidder: string;
|
21
|
+
contract: string;
|
22
|
+
tokenId: string;
|
23
|
+
amount: string;
|
24
|
+
startBlock: string;
|
25
|
+
expireBlock: string;
|
26
|
+
bidToken: string;
|
27
|
+
}
|
28
|
+
|
29
|
+
export interface BidMessage extends BidParameters {
|
30
|
+
bidNonce: string;
|
31
|
+
}
|
32
|
+
|
33
|
+
export interface SignableBid {
|
34
|
+
bid: BidMessage;
|
35
|
+
message: string;
|
36
|
+
}
|
37
|
+
|
38
|
+
export interface SignedBid {
|
39
|
+
bid: BidMessage;
|
40
|
+
signedMessage: string;
|
41
|
+
}
|
42
|
+
|
43
|
+
export interface Bid extends BidMessage {
|
44
|
+
signedMessage: string;
|
45
|
+
timestamp: string;
|
46
|
+
version: "1.0" | "2.0";
|
47
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { ethers } from "ethers";
|
2
|
+
import {
|
3
|
+
IERC20,
|
4
|
+
IERC20__factory,
|
5
|
+
IERC721,
|
6
|
+
IERC721__factory,
|
7
|
+
IZNSHub,
|
8
|
+
IZNSHub__factory,
|
9
|
+
ZAuction,
|
10
|
+
ZAuctionV1,
|
11
|
+
ZAuctionV1__factory,
|
12
|
+
ZAuction__factory,
|
13
|
+
} from "./types";
|
14
|
+
|
15
|
+
export const getZAuctionContract = async (
|
16
|
+
web3Provider: ethers.providers.Provider | ethers.Signer,
|
17
|
+
address: string
|
18
|
+
): Promise<ZAuction> => {
|
19
|
+
const contract = ZAuction__factory.connect(address, web3Provider);
|
20
|
+
return contract;
|
21
|
+
};
|
22
|
+
|
23
|
+
export const getZAuctionV1Contract = async (
|
24
|
+
web3Provider: ethers.providers.Provider | ethers.Signer,
|
25
|
+
address: string // to change on new deployment
|
26
|
+
): Promise<ZAuctionV1> => {
|
27
|
+
const contract = ZAuctionV1__factory.connect(address, web3Provider);
|
28
|
+
return contract;
|
29
|
+
};
|
30
|
+
|
31
|
+
export const getERC20Contract = async (
|
32
|
+
web3Provider: ethers.providers.Provider | ethers.Signer,
|
33
|
+
address: string
|
34
|
+
): Promise<IERC20> => {
|
35
|
+
const contract = IERC20__factory.connect(address, web3Provider);
|
36
|
+
return contract;
|
37
|
+
};
|
38
|
+
|
39
|
+
export const getERC721Contract = async (
|
40
|
+
web3Provider: ethers.providers.Provider | ethers.Signer,
|
41
|
+
address: string
|
42
|
+
): Promise<IERC721> => {
|
43
|
+
const contract = IERC721__factory.connect(address, web3Provider);
|
44
|
+
return contract;
|
45
|
+
};
|
46
|
+
|
47
|
+
export const getZnsHubContract = async (
|
48
|
+
web3Provider: ethers.providers.Provider | ethers.Signer,
|
49
|
+
address: string
|
50
|
+
): Promise<IZNSHub> => {
|
51
|
+
const contract = IZNSHub__factory.connect(address, web3Provider);
|
52
|
+
return contract;
|
53
|
+
};
|