@flaunch/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +9 -0
- package/README.md +315 -0
- package/dist/abi/FairLaunch.d.ts +364 -0
- package/dist/abi/FairLaunch.d.ts.map +1 -0
- package/dist/abi/FastFlaunchZap.d.ts +75 -0
- package/dist/abi/FastFlaunchZap.d.ts.map +1 -0
- package/dist/abi/Flaunch.d.ts +832 -0
- package/dist/abi/Flaunch.d.ts.map +1 -0
- package/dist/abi/FlaunchPositionManager.d.ts +2030 -0
- package/dist/abi/FlaunchPositionManager.d.ts.map +1 -0
- package/dist/abi/Memecoin.d.ts +743 -0
- package/dist/abi/Memecoin.d.ts.map +1 -0
- package/dist/abi/Permit2.d.ts +701 -0
- package/dist/abi/Permit2.d.ts.map +1 -0
- package/dist/abi/PoolManager.d.ts +1057 -0
- package/dist/abi/PoolManager.d.ts.map +1 -0
- package/dist/abi/Quoter.d.ts +486 -0
- package/dist/abi/Quoter.d.ts.map +1 -0
- package/dist/abi/UniversalRouter.d.ts +342 -0
- package/dist/abi/UniversalRouter.d.ts.map +1 -0
- package/dist/abi/index.cjs +3023 -0
- package/dist/abi/index.cjs.map +1 -0
- package/dist/abi/index.d.ts +6 -0
- package/dist/abi/index.d.ts.map +1 -0
- package/dist/abi/index.js +3015 -0
- package/dist/abi/index.js.map +1 -0
- package/dist/addresses/index.cjs +5334 -0
- package/dist/addresses/index.cjs.map +1 -0
- package/dist/addresses/index.js +5321 -0
- package/dist/addresses/index.js.map +1 -0
- package/dist/addresses.d.ts +12 -0
- package/dist/addresses.d.ts.map +1 -0
- package/dist/clients/FairLaunchClient.d.ts +21 -0
- package/dist/clients/FairLaunchClient.d.ts.map +1 -0
- package/dist/clients/FastFlaunchClient.d.ts +25 -0
- package/dist/clients/FastFlaunchClient.d.ts.map +1 -0
- package/dist/clients/FlaunchClient.d.ts +10 -0
- package/dist/clients/FlaunchClient.d.ts.map +1 -0
- package/dist/clients/FlaunchPositionManagerClient.d.ts +89 -0
- package/dist/clients/FlaunchPositionManagerClient.d.ts.map +1 -0
- package/dist/clients/MemecoinClient.d.ts +12 -0
- package/dist/clients/MemecoinClient.d.ts.map +1 -0
- package/dist/clients/Permit2Client.d.ts +13 -0
- package/dist/clients/Permit2Client.d.ts.map +1 -0
- package/dist/clients/PoolManagerClient.d.ts +32 -0
- package/dist/clients/PoolManagerClient.d.ts.map +1 -0
- package/dist/clients/QuoterClient.d.ts +12 -0
- package/dist/clients/QuoterClient.d.ts.map +1 -0
- package/dist/helpers/hex.d.ts +4 -0
- package/dist/helpers/hex.d.ts.map +1 -0
- package/dist/helpers/index.cjs +191 -0
- package/dist/helpers/index.cjs.map +1 -0
- package/dist/helpers/index.d.ts +3 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +177 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/ipfs.d.ts +47 -0
- package/dist/helpers/ipfs.d.ts.map +1 -0
- package/dist/hooks/FlaunchPositionManagerHooks.d.ts +12 -0
- package/dist/hooks/FlaunchPositionManagerHooks.d.ts.map +1 -0
- package/dist/hooks/index.cjs +69 -0
- package/dist/hooks/index.cjs.map +1 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +64 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.cjs.js +11498 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +11466 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/sdk/FlaunchSDK.d.ts +121 -0
- package/dist/sdk/FlaunchSDK.d.ts.map +1 -0
- package/dist/types.d.ts +34 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/univ4.d.ts +20 -0
- package/dist/utils/univ4.d.ts.map +1 -0
- package/dist/utils/universalRouter.d.ts +74 -0
- package/dist/utils/universalRouter.d.ts.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { hexToBigInt, pad, encodeAbiParameters } from 'viem';
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
|
|
4
|
+
const bytes32ToUint256 = (value) => {
|
|
5
|
+
return hexToBigInt(value);
|
|
6
|
+
};
|
|
7
|
+
const uint256ToBytes32 = (value) => {
|
|
8
|
+
return pad(encodeAbiParameters([{ type: "uint256", name: "value" }], [value]), { size: 32, dir: "right" });
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const resolveIPFS = (value) => {
|
|
12
|
+
if (value.startsWith("ipfs://")) {
|
|
13
|
+
return `https://gateway.pinata.cloud/ipfs/${value.slice(7)}`;
|
|
14
|
+
}
|
|
15
|
+
return value;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Uploads a file to IPFS using Pinata
|
|
19
|
+
* @param params Configuration and file data
|
|
20
|
+
* @returns Upload response with CID and other details
|
|
21
|
+
*/
|
|
22
|
+
const uploadFileToIPFS = async (params) => {
|
|
23
|
+
try {
|
|
24
|
+
const formData = new FormData();
|
|
25
|
+
formData.append("file", params.file);
|
|
26
|
+
const pinataMetadata = {
|
|
27
|
+
name: params.name || null,
|
|
28
|
+
keyvalues: params.metadata || {},
|
|
29
|
+
};
|
|
30
|
+
formData.append("pinataMetadata", JSON.stringify(pinataMetadata));
|
|
31
|
+
const pinataOptions = {
|
|
32
|
+
cidVersion: 1,
|
|
33
|
+
};
|
|
34
|
+
formData.append("pinataOptions", JSON.stringify(pinataOptions));
|
|
35
|
+
const response = await axios.post("https://api.pinata.cloud/pinning/pinFileToIPFS", formData, {
|
|
36
|
+
headers: {
|
|
37
|
+
Authorization: `Bearer ${params.pinataConfig.jwt}`,
|
|
38
|
+
"Content-Type": "multipart/form-data",
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
IpfsHash: response.data.IpfsHash,
|
|
43
|
+
PinSize: response.data.PinSize,
|
|
44
|
+
Timestamp: response.data.Timestamp,
|
|
45
|
+
isDuplicate: response.data.isDuplicate || false,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (axios.isAxiosError(error)) {
|
|
50
|
+
throw new Error(`Failed to upload file to IPFS: ${error.response?.data?.message || error.message}`);
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Uploads JSON data to IPFS using Pinata
|
|
57
|
+
* @param params Configuration and JSON data
|
|
58
|
+
* @returns Upload response with CID and other details
|
|
59
|
+
*/
|
|
60
|
+
const uploadJsonToIPFS = async (params) => {
|
|
61
|
+
try {
|
|
62
|
+
const requestBody = {
|
|
63
|
+
pinataOptions: {
|
|
64
|
+
cidVersion: 1,
|
|
65
|
+
},
|
|
66
|
+
pinataMetadata: {
|
|
67
|
+
name: params.name || null,
|
|
68
|
+
keyvalues: params.metadata || {},
|
|
69
|
+
},
|
|
70
|
+
pinataContent: params.json,
|
|
71
|
+
};
|
|
72
|
+
const response = await axios.post("https://api.pinata.cloud/pinning/pinJSONToIPFS", requestBody, {
|
|
73
|
+
headers: {
|
|
74
|
+
Authorization: `Bearer ${params.pinataConfig.jwt}`,
|
|
75
|
+
"Content-Type": "application/json",
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
return {
|
|
79
|
+
IpfsHash: response.data.IpfsHash,
|
|
80
|
+
PinSize: response.data.PinSize,
|
|
81
|
+
Timestamp: response.data.Timestamp,
|
|
82
|
+
isDuplicate: response.data.isDuplicate || false,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (axios.isAxiosError(error)) {
|
|
87
|
+
throw new Error(`Failed to upload JSON to IPFS: ${error.response?.data?.message || error.message}`);
|
|
88
|
+
}
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Uploads a base64 image to IPFS using Pinata
|
|
94
|
+
* @param params Configuration and base64 image data
|
|
95
|
+
* @returns Upload response with CID and other details
|
|
96
|
+
*/
|
|
97
|
+
const uploadImageToIPFS = async (params) => {
|
|
98
|
+
try {
|
|
99
|
+
const formData = new FormData();
|
|
100
|
+
// Convert base64 to Blob and then to File
|
|
101
|
+
// Remove data URL prefix if present (e.g., "data:image/jpeg;base64,")
|
|
102
|
+
const base64Data = params.base64Image.split(",")[1] || params.base64Image;
|
|
103
|
+
const byteCharacters = atob(base64Data);
|
|
104
|
+
const byteArrays = [];
|
|
105
|
+
for (let offset = 0; offset < byteCharacters.length; offset += 1024) {
|
|
106
|
+
const slice = byteCharacters.slice(offset, offset + 1024);
|
|
107
|
+
const byteNumbers = new Array(slice.length);
|
|
108
|
+
for (let i = 0; i < slice.length; i++) {
|
|
109
|
+
byteNumbers[i] = slice.charCodeAt(i);
|
|
110
|
+
}
|
|
111
|
+
const byteArray = new Uint8Array(byteNumbers);
|
|
112
|
+
byteArrays.push(byteArray);
|
|
113
|
+
}
|
|
114
|
+
// Detect mime type from base64 string
|
|
115
|
+
let mimeType = "image/png"; // default
|
|
116
|
+
if (params.base64Image.startsWith("data:")) {
|
|
117
|
+
mimeType = params.base64Image.split(";")[0].split(":")[1];
|
|
118
|
+
}
|
|
119
|
+
const blob = new Blob(byteArrays, { type: mimeType });
|
|
120
|
+
const fileName = params.name || `image.${mimeType.split("/")[1]}`;
|
|
121
|
+
const file = new File([blob], fileName, { type: mimeType });
|
|
122
|
+
formData.append("file", file);
|
|
123
|
+
const pinataMetadata = {
|
|
124
|
+
name: params.name || null,
|
|
125
|
+
keyvalues: params.metadata || {},
|
|
126
|
+
};
|
|
127
|
+
formData.append("pinataMetadata", JSON.stringify(pinataMetadata));
|
|
128
|
+
const pinataOptions = {
|
|
129
|
+
cidVersion: 1,
|
|
130
|
+
};
|
|
131
|
+
formData.append("pinataOptions", JSON.stringify(pinataOptions));
|
|
132
|
+
const response = await axios.post("https://api.pinata.cloud/pinning/pinFileToIPFS", formData, {
|
|
133
|
+
headers: {
|
|
134
|
+
Authorization: `Bearer ${params.pinataConfig.jwt}`,
|
|
135
|
+
"Content-Type": "multipart/form-data",
|
|
136
|
+
},
|
|
137
|
+
});
|
|
138
|
+
return {
|
|
139
|
+
IpfsHash: response.data.IpfsHash,
|
|
140
|
+
PinSize: response.data.PinSize,
|
|
141
|
+
Timestamp: response.data.Timestamp,
|
|
142
|
+
isDuplicate: response.data.isDuplicate || false,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
catch (error) {
|
|
146
|
+
if (axios.isAxiosError(error)) {
|
|
147
|
+
throw new Error(`Failed to upload image to IPFS: ${error.response?.data?.message || error.message}`);
|
|
148
|
+
}
|
|
149
|
+
throw error;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
const generateTokenUri = async (name, params) => {
|
|
153
|
+
// 1. upload image to IPFS
|
|
154
|
+
const imageRes = await uploadImageToIPFS({
|
|
155
|
+
pinataConfig: params.pinataConfig,
|
|
156
|
+
base64Image: params.metadata.base64Image,
|
|
157
|
+
});
|
|
158
|
+
// 2. upload metadata to IPFS
|
|
159
|
+
const coinMetadata = {
|
|
160
|
+
name,
|
|
161
|
+
description: params.metadata.description,
|
|
162
|
+
image: `ipfs://${imageRes.IpfsHash}`,
|
|
163
|
+
external_link: params.metadata.websiteUrl,
|
|
164
|
+
collaborators: [],
|
|
165
|
+
discordUrl: params.metadata.discordUrl,
|
|
166
|
+
twitterUrl: params.metadata.twitterUrl,
|
|
167
|
+
telegramUrl: params.metadata.telegramUrl,
|
|
168
|
+
};
|
|
169
|
+
const metadataRes = await uploadJsonToIPFS({
|
|
170
|
+
pinataConfig: params.pinataConfig,
|
|
171
|
+
json: coinMetadata,
|
|
172
|
+
});
|
|
173
|
+
return `ipfs://${metadataRes.IpfsHash}`;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
export { bytes32ToUint256, generateTokenUri, resolveIPFS, uint256ToBytes32, uploadFileToIPFS, uploadImageToIPFS, uploadJsonToIPFS };
|
|
177
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/helpers/hex.ts","../../../src/helpers/ipfs.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { IPFSParams } from "../types";
|
|
2
|
+
export declare const resolveIPFS: (value: string) => string;
|
|
3
|
+
export interface PinataConfig {
|
|
4
|
+
jwt: string;
|
|
5
|
+
}
|
|
6
|
+
interface UploadResponse {
|
|
7
|
+
IpfsHash: string;
|
|
8
|
+
PinSize: number;
|
|
9
|
+
Timestamp: string;
|
|
10
|
+
isDuplicate: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Uploads a file to IPFS using Pinata
|
|
14
|
+
* @param params Configuration and file data
|
|
15
|
+
* @returns Upload response with CID and other details
|
|
16
|
+
*/
|
|
17
|
+
export declare const uploadFileToIPFS: (params: {
|
|
18
|
+
pinataConfig: PinataConfig;
|
|
19
|
+
file: File;
|
|
20
|
+
name?: string;
|
|
21
|
+
metadata?: Record<string, string>;
|
|
22
|
+
}) => Promise<UploadResponse>;
|
|
23
|
+
/**
|
|
24
|
+
* Uploads JSON data to IPFS using Pinata
|
|
25
|
+
* @param params Configuration and JSON data
|
|
26
|
+
* @returns Upload response with CID and other details
|
|
27
|
+
*/
|
|
28
|
+
export declare const uploadJsonToIPFS: (params: {
|
|
29
|
+
pinataConfig: PinataConfig;
|
|
30
|
+
json: Record<string, any>;
|
|
31
|
+
name?: string;
|
|
32
|
+
metadata?: Record<string, string>;
|
|
33
|
+
}) => Promise<UploadResponse>;
|
|
34
|
+
/**
|
|
35
|
+
* Uploads a base64 image to IPFS using Pinata
|
|
36
|
+
* @param params Configuration and base64 image data
|
|
37
|
+
* @returns Upload response with CID and other details
|
|
38
|
+
*/
|
|
39
|
+
export declare const uploadImageToIPFS: (params: {
|
|
40
|
+
pinataConfig: PinataConfig;
|
|
41
|
+
base64Image: string;
|
|
42
|
+
name?: string;
|
|
43
|
+
metadata?: Record<string, string>;
|
|
44
|
+
}) => Promise<UploadResponse>;
|
|
45
|
+
export declare const generateTokenUri: (name: string, params: IPFSParams) => Promise<string>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=ipfs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipfs.d.ts","sourceRoot":"","sources":["../../src/helpers/ipfs.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WAKxC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,QAAQ;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,KAAG,OAAO,CAAC,cAAc,CA2CzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAU,QAAQ;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,KAAG,OAAO,CAAC,cAAc,CAwCzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAU,QAAQ;IAC9C,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,KAAG,OAAO,CAAC,cAAc,CAsEzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAU,MAAM,MAAM,EAAE,QAAQ,UAAU,oBAyBtE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BuySwapLog, PoolCreatedLogs, SellSwapLog } from "../clients/FlaunchPositionManagerClient";
|
|
2
|
+
import { ReadFlaunchSDK } from "../sdk/FlaunchSDK";
|
|
3
|
+
import { Address } from "viem";
|
|
4
|
+
export declare function usePoolCreatedEvents(flaunch: ReadFlaunchSDK, startBlockNumber?: bigint): {
|
|
5
|
+
logs: PoolCreatedLogs;
|
|
6
|
+
isFetchingFromStart: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function usePoolSwapEvents(flaunch: ReadFlaunchSDK, coinAddress: Address, startBlockNumber?: bigint): {
|
|
9
|
+
logs: (BuySwapLog | SellSwapLog)[];
|
|
10
|
+
isFetchingFromStart: boolean;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=FlaunchPositionManagerHooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlaunchPositionManagerHooks.d.ts","sourceRoot":"","sources":["../../src/hooks/FlaunchPositionManagerHooks.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACZ,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,cAAc,EACvB,gBAAgB,CAAC,EAAE,MAAM;;;EAmC1B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,OAAO,EACpB,gBAAgB,CAAC,EAAE,MAAM;;;EAoC1B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
function usePoolCreatedEvents(flaunch, startBlockNumber) {
|
|
8
|
+
const [logs, setLogs] = react.useState([]);
|
|
9
|
+
const [isFetchingFromStart, setIsFetchingFromStart] = react.useState(false);
|
|
10
|
+
react.useEffect(() => {
|
|
11
|
+
const setupWatcher = async () => {
|
|
12
|
+
const cleanup = await flaunch.watchPoolCreated({
|
|
13
|
+
onPoolCreated: ({ logs: newLogs, isFetchingFromStart }) => {
|
|
14
|
+
setIsFetchingFromStart(isFetchingFromStart);
|
|
15
|
+
setLogs((prevLogs) => [...newLogs, ...prevLogs]);
|
|
16
|
+
},
|
|
17
|
+
startBlockNumber,
|
|
18
|
+
});
|
|
19
|
+
return cleanup;
|
|
20
|
+
};
|
|
21
|
+
const cleanupPromise = setupWatcher();
|
|
22
|
+
return () => {
|
|
23
|
+
cleanupPromise.then(({ cleanup }) => cleanup());
|
|
24
|
+
};
|
|
25
|
+
}, [flaunch.chainId, startBlockNumber]);
|
|
26
|
+
// Add effect to update times
|
|
27
|
+
react.useEffect(() => {
|
|
28
|
+
const timer = setInterval(() => {
|
|
29
|
+
// Force re-render to update relative times
|
|
30
|
+
setLogs((prev) => [...prev]);
|
|
31
|
+
}, 1000);
|
|
32
|
+
return () => clearInterval(timer);
|
|
33
|
+
}, []);
|
|
34
|
+
return { logs, isFetchingFromStart };
|
|
35
|
+
}
|
|
36
|
+
function usePoolSwapEvents(flaunch, coinAddress, startBlockNumber) {
|
|
37
|
+
const [logs, setLogs] = react.useState([]);
|
|
38
|
+
const [isFetchingFromStart, setIsFetchingFromStart] = react.useState(false);
|
|
39
|
+
react.useEffect(() => {
|
|
40
|
+
const setupWatcher = async () => {
|
|
41
|
+
const cleanup = await flaunch.watchPoolSwap({
|
|
42
|
+
onPoolSwap: ({ logs: newLogs, isFetchingFromStart }) => {
|
|
43
|
+
setIsFetchingFromStart(isFetchingFromStart);
|
|
44
|
+
setLogs((prevLogs) => [...newLogs, ...prevLogs]);
|
|
45
|
+
},
|
|
46
|
+
filterByCoin: coinAddress,
|
|
47
|
+
startBlockNumber,
|
|
48
|
+
});
|
|
49
|
+
return cleanup;
|
|
50
|
+
};
|
|
51
|
+
const cleanupPromise = setupWatcher();
|
|
52
|
+
return () => {
|
|
53
|
+
cleanupPromise.then(({ cleanup }) => cleanup());
|
|
54
|
+
};
|
|
55
|
+
}, [flaunch.chainId, coinAddress, startBlockNumber]);
|
|
56
|
+
// Add effect to update times
|
|
57
|
+
react.useEffect(() => {
|
|
58
|
+
const timer = setInterval(() => {
|
|
59
|
+
// Force re-render to update relative times
|
|
60
|
+
setLogs((prev) => [...prev]);
|
|
61
|
+
}, 1000);
|
|
62
|
+
return () => clearInterval(timer);
|
|
63
|
+
}, []);
|
|
64
|
+
return { logs, isFetchingFromStart };
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
exports.usePoolCreatedEvents = usePoolCreatedEvents;
|
|
68
|
+
exports.usePoolSwapEvents = usePoolSwapEvents;
|
|
69
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/hooks/FlaunchPositionManagerHooks.ts"],"sourcesContent":[null],"names":["useState","useEffect"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
function usePoolCreatedEvents(flaunch, startBlockNumber) {
|
|
4
|
+
const [logs, setLogs] = useState([]);
|
|
5
|
+
const [isFetchingFromStart, setIsFetchingFromStart] = useState(false);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
const setupWatcher = async () => {
|
|
8
|
+
const cleanup = await flaunch.watchPoolCreated({
|
|
9
|
+
onPoolCreated: ({ logs: newLogs, isFetchingFromStart }) => {
|
|
10
|
+
setIsFetchingFromStart(isFetchingFromStart);
|
|
11
|
+
setLogs((prevLogs) => [...newLogs, ...prevLogs]);
|
|
12
|
+
},
|
|
13
|
+
startBlockNumber,
|
|
14
|
+
});
|
|
15
|
+
return cleanup;
|
|
16
|
+
};
|
|
17
|
+
const cleanupPromise = setupWatcher();
|
|
18
|
+
return () => {
|
|
19
|
+
cleanupPromise.then(({ cleanup }) => cleanup());
|
|
20
|
+
};
|
|
21
|
+
}, [flaunch.chainId, startBlockNumber]);
|
|
22
|
+
// Add effect to update times
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
const timer = setInterval(() => {
|
|
25
|
+
// Force re-render to update relative times
|
|
26
|
+
setLogs((prev) => [...prev]);
|
|
27
|
+
}, 1000);
|
|
28
|
+
return () => clearInterval(timer);
|
|
29
|
+
}, []);
|
|
30
|
+
return { logs, isFetchingFromStart };
|
|
31
|
+
}
|
|
32
|
+
function usePoolSwapEvents(flaunch, coinAddress, startBlockNumber) {
|
|
33
|
+
const [logs, setLogs] = useState([]);
|
|
34
|
+
const [isFetchingFromStart, setIsFetchingFromStart] = useState(false);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const setupWatcher = async () => {
|
|
37
|
+
const cleanup = await flaunch.watchPoolSwap({
|
|
38
|
+
onPoolSwap: ({ logs: newLogs, isFetchingFromStart }) => {
|
|
39
|
+
setIsFetchingFromStart(isFetchingFromStart);
|
|
40
|
+
setLogs((prevLogs) => [...newLogs, ...prevLogs]);
|
|
41
|
+
},
|
|
42
|
+
filterByCoin: coinAddress,
|
|
43
|
+
startBlockNumber,
|
|
44
|
+
});
|
|
45
|
+
return cleanup;
|
|
46
|
+
};
|
|
47
|
+
const cleanupPromise = setupWatcher();
|
|
48
|
+
return () => {
|
|
49
|
+
cleanupPromise.then(({ cleanup }) => cleanup());
|
|
50
|
+
};
|
|
51
|
+
}, [flaunch.chainId, coinAddress, startBlockNumber]);
|
|
52
|
+
// Add effect to update times
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
const timer = setInterval(() => {
|
|
55
|
+
// Force re-render to update relative times
|
|
56
|
+
setLogs((prev) => [...prev]);
|
|
57
|
+
}, 1000);
|
|
58
|
+
return () => clearInterval(timer);
|
|
59
|
+
}, []);
|
|
60
|
+
return { logs, isFetchingFromStart };
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { usePoolCreatedEvents, usePoolSwapEvents };
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/hooks/FlaunchPositionManagerHooks.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|