@turtleclub/hooks 0.2.0-beta.0 → 0.2.0-beta.2
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/dist/chunk-PZ5AY32C.js +10 -0
- package/dist/chunk-PZ5AY32C.js.map +1 -0
- package/dist/dist-W74D6NYT.js +140 -0
- package/dist/dist-W74D6NYT.js.map +1 -0
- package/dist/index.cjs +4422 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4270 -36
- package/dist/index.js.map +1 -1
- package/package.json +10 -4
- package/src/campaigns-v2/Katana/constants.ts +32 -0
- package/src/campaigns-v2/api/backends/fetch.ts +134 -0
- package/src/campaigns-v2/api/builder/api.ts +51 -0
- package/src/campaigns-v2/api/builder/hooks.ts +88 -0
- package/src/campaigns-v2/api/earn/api.ts +65 -0
- package/src/campaigns-v2/api/earn/dealSchemas.ts +52 -0
- package/src/campaigns-v2/api/earn/hooks.ts +76 -0
- package/src/campaigns-v2/api/earn/z.ts +145 -0
- package/src/campaigns-v2/api/index/api.ts +40 -0
- package/src/campaigns-v2/api/index/endpoints.ts +12 -0
- package/src/campaigns-v2/api/index/hooks.ts +26 -0
- package/src/campaigns-v2/api/index/z.ts +20 -0
- package/src/campaigns-v2/api/index.ts +1 -0
- package/src/campaigns-v2/api/partners/api.ts +86 -0
- package/src/campaigns-v2/api/partners/authApi.ts +163 -0
- package/src/campaigns-v2/api/partners/authSchemas.ts +89 -0
- package/src/campaigns-v2/api/partners/campaignSchemas.ts +398 -0
- package/src/campaigns-v2/api/partners/dealSchemas.ts +72 -0
- package/src/campaigns-v2/api/partners/hooks.ts +147 -0
- package/src/campaigns-v2/api/partners/index.ts +9 -0
- package/src/campaigns-v2/api/partners/organizationSchemas.ts +32 -0
- package/src/campaigns-v2/api/partners/paymentSchemas.ts +23 -0
- package/src/campaigns-v2/api/partners/treasurySchemas.ts +74 -0
- package/src/campaigns-v2/api/points/api.ts +42 -0
- package/src/campaigns-v2/api/points/hooks.ts +30 -0
- package/src/campaigns-v2/api/points/z.ts +19 -0
- package/src/campaigns-v2/api/utils.ts +6 -0
- package/src/campaigns-v2/chains/katana.ts +31 -0
- package/src/campaigns-v2/constants.tsx +591 -0
- package/src/campaigns-v2/contracts/lagoonVaultAbi.tsx +1002 -0
- package/src/campaigns-v2/contracts/morpho/index.ts +2 -0
- package/src/campaigns-v2/contracts/morpho/morphoAbi.tsx +612 -0
- package/src/campaigns-v2/contracts/morpho/morphoVaultAbi.tsx +1068 -0
- package/src/campaigns-v2/index.ts +34 -0
- package/src/campaigns-v2/shared-constants.ts +6 -0
- package/src/campaigns-v2/stores/authTokensStore.ts +85 -0
- package/src/campaigns-v2/stores/index.ts +1 -0
- package/src/campaigns-v2/tac/constants.ts +66 -0
- package/src/campaigns-v2/types/auth.ts +12 -0
- package/src/campaigns-v2/types/common.ts +3 -0
- package/src/campaigns-v2/types/contract.ts +4 -0
- package/src/campaigns-v2/types/index.ts +3 -0
- package/src/campaigns-v2/useCampaign.ts +84 -0
- package/src/campaigns-v2/useEvmCampaignPositions.ts +434 -0
- package/src/campaigns-v2/useTonCampaignPositions.ts +141 -0
- package/src/campaigns-v2/useUserCampaignPositions.ts +68 -0
- package/src/campaigns-v2/utils/array.ts +7 -0
- package/src/campaigns-v2/utils/bitmap.ts +22 -0
- package/src/campaigns-v2/utils/blob.ts +27 -0
- package/src/campaigns-v2/utils/browser.ts +125 -0
- package/src/campaigns-v2/utils/cmp.ts +31 -0
- package/src/campaigns-v2/utils/cn.ts +6 -0
- package/src/campaigns-v2/utils/debank.ts +70 -0
- package/src/campaigns-v2/utils/fn.ts +9 -0
- package/src/campaigns-v2/utils/format.ts +173 -0
- package/src/campaigns-v2/utils/formatters.ts +0 -0
- package/src/campaigns-v2/utils/index.ts +26 -0
- package/src/campaigns-v2/utils/interval.ts +19 -0
- package/src/campaigns-v2/utils/jwt.ts +28 -0
- package/src/campaigns-v2/utils/log.ts +12 -0
- package/src/campaigns-v2/utils/math.ts +9 -0
- package/src/campaigns-v2/utils/number.ts +78 -0
- package/src/campaigns-v2/utils/object.ts +5 -0
- package/src/campaigns-v2/utils/parse.ts +4 -0
- package/src/campaigns-v2/utils/random.ts +6 -0
- package/src/campaigns-v2/utils/result.ts +68 -0
- package/src/campaigns-v2/utils/shorten.ts +4 -0
- package/src/campaigns-v2/utils/siteInfo.ts +4 -0
- package/src/campaigns-v2/utils/slippage.ts +40 -0
- package/src/campaigns-v2/utils/sortBySelectedItems.ts +27 -0
- package/src/campaigns-v2/utils/std.ts +7 -0
- package/src/campaigns-v2/utils/tanstack-query.ts +228 -0
- package/src/campaigns-v2/utils/time.ts +16 -0
- package/src/campaigns-v2/utils/tvl.ts +10 -0
- package/src/campaigns-v2/utils/types.ts +29 -0
- package/src/campaigns-v2/utils/url.ts +12 -0
- package/src/campaigns-v2/utils/zod.ts +39 -0
- package/src/hooks/earn/index.ts +1 -0
- package/src/hooks/earn/useEnhancedEarnDeals.ts +146 -0
- package/src/hooks/endpoints/earn/useCampaigns.ts +5 -3
- package/src/hooks/endpoints/earn/useDeals.ts +5 -3
- package/src/hooks/endpoints/index.ts +2 -0
- package/src/hooks/endpoints/partner/index.ts +2 -0
- package/src/hooks/endpoints/partner/usePartnerCampaigns.ts +43 -0
- package/src/hooks/endpoints/partner/usePartnerDeals.ts +41 -0
- package/src/hooks/endpoints/useIndexerTvl.ts +39 -0
- package/src/hooks/index.ts +1 -0
- package/src/index.ts +8 -0
- package/src/utils/dataMatching.ts +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import "./chunk-PZ5AY32C.js";
|
|
2
|
+
|
|
3
|
+
// ../../node_modules/idb-keyval/dist/index.js
|
|
4
|
+
function promisifyRequest(request) {
|
|
5
|
+
return new Promise((resolve, reject) => {
|
|
6
|
+
request.oncomplete = request.onsuccess = () => resolve(request.result);
|
|
7
|
+
request.onabort = request.onerror = () => reject(request.error);
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function createStore(dbName, storeName) {
|
|
11
|
+
let dbp;
|
|
12
|
+
const getDB = () => {
|
|
13
|
+
if (dbp)
|
|
14
|
+
return dbp;
|
|
15
|
+
const request = indexedDB.open(dbName);
|
|
16
|
+
request.onupgradeneeded = () => request.result.createObjectStore(storeName);
|
|
17
|
+
dbp = promisifyRequest(request);
|
|
18
|
+
dbp.then((db) => {
|
|
19
|
+
db.onclose = () => dbp = void 0;
|
|
20
|
+
}, () => {
|
|
21
|
+
});
|
|
22
|
+
return dbp;
|
|
23
|
+
};
|
|
24
|
+
return (txMode, callback) => getDB().then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));
|
|
25
|
+
}
|
|
26
|
+
var defaultGetStoreFunc;
|
|
27
|
+
function defaultGetStore() {
|
|
28
|
+
if (!defaultGetStoreFunc) {
|
|
29
|
+
defaultGetStoreFunc = createStore("keyval-store", "keyval");
|
|
30
|
+
}
|
|
31
|
+
return defaultGetStoreFunc;
|
|
32
|
+
}
|
|
33
|
+
function get(key, customStore = defaultGetStore()) {
|
|
34
|
+
return customStore("readonly", (store) => promisifyRequest(store.get(key)));
|
|
35
|
+
}
|
|
36
|
+
function set(key, value, customStore = defaultGetStore()) {
|
|
37
|
+
return customStore("readwrite", (store) => {
|
|
38
|
+
store.put(value, key);
|
|
39
|
+
return promisifyRequest(store.transaction);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
function setMany(entries2, customStore = defaultGetStore()) {
|
|
43
|
+
return customStore("readwrite", (store) => {
|
|
44
|
+
entries2.forEach((entry) => store.put(entry[1], entry[0]));
|
|
45
|
+
return promisifyRequest(store.transaction);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function getMany(keys2, customStore = defaultGetStore()) {
|
|
49
|
+
return customStore("readonly", (store) => Promise.all(keys2.map((key) => promisifyRequest(store.get(key)))));
|
|
50
|
+
}
|
|
51
|
+
function update(key, updater, customStore = defaultGetStore()) {
|
|
52
|
+
return customStore("readwrite", (store) => (
|
|
53
|
+
// Need to create the promise manually.
|
|
54
|
+
// If I try to chain promises, the transaction closes in browsers
|
|
55
|
+
// that use a promise polyfill (IE10/11).
|
|
56
|
+
new Promise((resolve, reject) => {
|
|
57
|
+
store.get(key).onsuccess = function() {
|
|
58
|
+
try {
|
|
59
|
+
store.put(updater(this.result), key);
|
|
60
|
+
resolve(promisifyRequest(store.transaction));
|
|
61
|
+
} catch (err) {
|
|
62
|
+
reject(err);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
})
|
|
66
|
+
));
|
|
67
|
+
}
|
|
68
|
+
function del(key, customStore = defaultGetStore()) {
|
|
69
|
+
return customStore("readwrite", (store) => {
|
|
70
|
+
store.delete(key);
|
|
71
|
+
return promisifyRequest(store.transaction);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
function delMany(keys2, customStore = defaultGetStore()) {
|
|
75
|
+
return customStore("readwrite", (store) => {
|
|
76
|
+
keys2.forEach((key) => store.delete(key));
|
|
77
|
+
return promisifyRequest(store.transaction);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
function clear(customStore = defaultGetStore()) {
|
|
81
|
+
return customStore("readwrite", (store) => {
|
|
82
|
+
store.clear();
|
|
83
|
+
return promisifyRequest(store.transaction);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
function eachCursor(store, callback) {
|
|
87
|
+
store.openCursor().onsuccess = function() {
|
|
88
|
+
if (!this.result)
|
|
89
|
+
return;
|
|
90
|
+
callback(this.result);
|
|
91
|
+
this.result.continue();
|
|
92
|
+
};
|
|
93
|
+
return promisifyRequest(store.transaction);
|
|
94
|
+
}
|
|
95
|
+
function keys(customStore = defaultGetStore()) {
|
|
96
|
+
return customStore("readonly", (store) => {
|
|
97
|
+
if (store.getAllKeys) {
|
|
98
|
+
return promisifyRequest(store.getAllKeys());
|
|
99
|
+
}
|
|
100
|
+
const items = [];
|
|
101
|
+
return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
function values(customStore = defaultGetStore()) {
|
|
105
|
+
return customStore("readonly", (store) => {
|
|
106
|
+
if (store.getAll) {
|
|
107
|
+
return promisifyRequest(store.getAll());
|
|
108
|
+
}
|
|
109
|
+
const items = [];
|
|
110
|
+
return eachCursor(store, (cursor) => items.push(cursor.value)).then(() => items);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
function entries(customStore = defaultGetStore()) {
|
|
114
|
+
return customStore("readonly", (store) => {
|
|
115
|
+
if (store.getAll && store.getAllKeys) {
|
|
116
|
+
return Promise.all([
|
|
117
|
+
promisifyRequest(store.getAllKeys()),
|
|
118
|
+
promisifyRequest(store.getAll())
|
|
119
|
+
]).then(([keys2, values2]) => keys2.map((key, i) => [key, values2[i]]));
|
|
120
|
+
}
|
|
121
|
+
const items = [];
|
|
122
|
+
return customStore("readonly", (store2) => eachCursor(store2, (cursor) => items.push([cursor.key, cursor.value])).then(() => items));
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
export {
|
|
126
|
+
clear,
|
|
127
|
+
createStore,
|
|
128
|
+
del,
|
|
129
|
+
delMany,
|
|
130
|
+
entries,
|
|
131
|
+
get,
|
|
132
|
+
getMany,
|
|
133
|
+
keys,
|
|
134
|
+
promisifyRequest,
|
|
135
|
+
set,
|
|
136
|
+
setMany,
|
|
137
|
+
update,
|
|
138
|
+
values
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=dist-W74D6NYT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/idb-keyval/dist/index.js"],"sourcesContent":["function promisifyRequest(request) {\n return new Promise((resolve, reject) => {\n // @ts-ignore - file size hacks\n request.oncomplete = request.onsuccess = () => resolve(request.result);\n // @ts-ignore - file size hacks\n request.onabort = request.onerror = () => reject(request.error);\n });\n}\nfunction createStore(dbName, storeName) {\n let dbp;\n const getDB = () => {\n if (dbp)\n return dbp;\n const request = indexedDB.open(dbName);\n request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n dbp = promisifyRequest(request);\n dbp.then((db) => {\n // It seems like Safari sometimes likes to just close the connection.\n // It's supposed to fire this event when that happens. Let's hope it does!\n db.onclose = () => (dbp = undefined);\n }, () => { });\n return dbp;\n };\n return (txMode, callback) => getDB().then((db) => callback(db.transaction(storeName, txMode).objectStore(storeName)));\n}\nlet defaultGetStoreFunc;\nfunction defaultGetStore() {\n if (!defaultGetStoreFunc) {\n defaultGetStoreFunc = createStore('keyval-store', 'keyval');\n }\n return defaultGetStoreFunc;\n}\n/**\n * Get a value by its key.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction get(key, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => promisifyRequest(store.get(key)));\n}\n/**\n * Set a value with a key.\n *\n * @param key\n * @param value\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction set(key, value, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.put(value, key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Set multiple values at once. This is faster than calling set() multiple times.\n * It's also atomic – if one of the pairs can't be added, none will be added.\n *\n * @param entries Array of entries, where each entry is an array of `[key, value]`.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction setMany(entries, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n entries.forEach((entry) => store.put(entry[1], entry[0]));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Get multiple values by their keys\n *\n * @param keys\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction getMany(keys, customStore = defaultGetStore()) {\n return customStore('readonly', (store) => Promise.all(keys.map((key) => promisifyRequest(store.get(key)))));\n}\n/**\n * Update a value. This lets you see the old value and update it as an atomic operation.\n *\n * @param key\n * @param updater A callback that takes the old value and returns a new value.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction update(key, updater, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => \n // Need to create the promise manually.\n // If I try to chain promises, the transaction closes in browsers\n // that use a promise polyfill (IE10/11).\n new Promise((resolve, reject) => {\n store.get(key).onsuccess = function () {\n try {\n store.put(updater(this.result), key);\n resolve(promisifyRequest(store.transaction));\n }\n catch (err) {\n reject(err);\n }\n };\n }));\n}\n/**\n * Delete a particular key from the store.\n *\n * @param key\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction del(key, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.delete(key);\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Delete multiple keys at once.\n *\n * @param keys List of keys to delete.\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction delMany(keys, customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n keys.forEach((key) => store.delete(key));\n return promisifyRequest(store.transaction);\n });\n}\n/**\n * Clear all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction clear(customStore = defaultGetStore()) {\n return customStore('readwrite', (store) => {\n store.clear();\n return promisifyRequest(store.transaction);\n });\n}\nfunction eachCursor(store, callback) {\n store.openCursor().onsuccess = function () {\n if (!this.result)\n return;\n callback(this.result);\n this.result.continue();\n };\n return promisifyRequest(store.transaction);\n}\n/**\n * Get all keys in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction keys(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAllKeys) {\n return promisifyRequest(store.getAllKeys());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.key)).then(() => items);\n });\n}\n/**\n * Get all values in the store.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction values(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n if (store.getAll) {\n return promisifyRequest(store.getAll());\n }\n const items = [];\n return eachCursor(store, (cursor) => items.push(cursor.value)).then(() => items);\n });\n}\n/**\n * Get all entries in the store. Each entry is an array of `[key, value]`.\n *\n * @param customStore Method to get a custom store. Use with caution (see the docs).\n */\nfunction entries(customStore = defaultGetStore()) {\n return customStore('readonly', (store) => {\n // Fast path for modern browsers\n // (although, hopefully we'll get a simpler path some day)\n if (store.getAll && store.getAllKeys) {\n return Promise.all([\n promisifyRequest(store.getAllKeys()),\n promisifyRequest(store.getAll()),\n ]).then(([keys, values]) => keys.map((key, i) => [key, values[i]]));\n }\n const items = [];\n return customStore('readonly', (store) => eachCursor(store, (cursor) => items.push([cursor.key, cursor.value])).then(() => items));\n });\n}\n\nexport { clear, createStore, del, delMany, entries, get, getMany, keys, promisifyRequest, set, setMany, update, values };\n"],"mappings":"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","names":["entries","keys","values","store"]}
|