From be6995b8ae699b30d30653ade1cd8fea39393575 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Tue, 14 Mar 2023 19:05:51 +0000 Subject: [PATCH] feat: get mira decimals and address from contract --- package.json | 2 +- pnpm-lock.yaml | 20 ++++++++++---------- src/models/site.model.ts | 11 ++++++++--- src/queries/site.ts | 10 +++++++--- 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 364a0368..0da9d214 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "canvas-confetti": "^1.6.0", "chroma-js": "^2.4.2", "clsx": "1.2.1", - "crossbell.js": "0.16.13", + "crossbell.js": "0.16.15", "dayjs": "1.11.7", "dotenv": "16.0.3", "emoji-mart": "5.5.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3b1b3de7..61d6ec02 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,7 +58,7 @@ specifiers: chroma-js: ^2.4.2 clsx: 1.2.1 cross-spawn: 7.0.3 - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 dayjs: 1.11.7 dotenv: 16.0.3 emoji-mart: 5.5.2 @@ -163,7 +163,7 @@ dependencies: canvas-confetti: 1.6.0 chroma-js: 2.4.2 clsx: 1.2.1 - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 dayjs: 1.11.7 dotenv: 16.0.3 emoji-mart: 5.5.2 @@ -1676,7 +1676,7 @@ packages: canvas-confetti: 1.6.0 check-password-strength: 2.0.7 classnames: 2.3.2 - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 detect-browser: 5.3.0 embla-carousel-react: 7.1.0_react@18.2.0 immer: 9.0.19 @@ -1707,7 +1707,7 @@ packages: dependencies: '@crossbell/indexer': 0.0.41_mesmmewwopkmkl7hvhwkhlmhve '@crossbell/util-hooks': 0.0.41_biqbaboplfbrettd7655fr4n2y - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 react: 18.2.0 wagmi: 0.11.7_osprwltll6etshz2owvseumghu transitivePeerDependencies: @@ -1725,7 +1725,7 @@ packages: wagmi: ^0.11 dependencies: '@tanstack/react-query': 4.24.10_biqbaboplfbrettd7655fr4n2y - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 dayjs: 1.11.7 lodash.compact: 3.0.1 lru-cache: 7.18.1 @@ -1786,7 +1786,7 @@ packages: '@crossbell/util-metadata': 0.0.41 '@tanstack/react-query': 4.24.10_biqbaboplfbrettd7655fr4n2y classnames: 2.3.2 - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 facepaint: 1.2.1 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -1815,7 +1815,7 @@ packages: react: ^18 dependencies: '@tanstack/react-query': 4.24.10_biqbaboplfbrettd7655fr4n2y - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 react: 18.2.0 transitivePeerDependencies: - bufferutil @@ -1830,7 +1830,7 @@ packages: dependencies: '@crossbell/util-ethers': 0.0.41 '@fastify/deepmerge': 1.3.0 - crossbell.js: 0.16.13 + crossbell.js: 0.16.15 transitivePeerDependencies: - bufferutil - supports-color @@ -6348,8 +6348,8 @@ packages: which: 2.0.2 dev: true - /crossbell.js/0.16.13: - resolution: {integrity: sha512-nX1IBr6XKi0NtgV8SAtQwWhyebUA4zwlpIauFFNRsprScSE1dNbcsSKscwX9AXFB49ai6VhYOvPNpG+k8YjGww==} + /crossbell.js/0.16.15: + resolution: {integrity: sha512-RpnZwOQ2fxUymXu+BDVtfLyLr5lM0NYmEA+fZ7YbggDNapt7WP52L2ntLYTfHPkwXbzSSenQa7p/mm9/V3PVoA==} dependencies: '@crossbell/ipfs-fetch': 0.0.15 async-retry: 1.3.3 diff --git a/src/models/site.model.ts b/src/models/site.model.ts index 38209a88..1cd7d572 100644 --- a/src/models/site.model.ts +++ b/src/models/site.model.ts @@ -520,16 +520,21 @@ export async function tipCharacter( }, contract: Contract, ) { + const decimals = await contract.getMiraTokenDecimals() // TODO return await contract?.tipCharacter( input.fromCharacterId, input.toCharacterId, - input.amount, + BigInt(input.amount) * BigInt(10) ** BigInt(decimals?.data || 18), ) } -export async function getTips(input: { toCharacterId: string | number }) { +export async function getTips( + input: { toCharacterId: string | number }, + contract: Contract, +) { + const address = await contract.getMiraTokenAddress() // TODO return await indexer?.getTips({ toCharacterId: input.toCharacterId, - tokenAddress: "0xAfB95CC0BD320648B3E8Df6223d9CDD05EbeDC64", + tokenAddress: address?.data || "0xAfB95CC0BD320648B3E8Df6223d9CDD05EbeDC64", }) } diff --git a/src/queries/site.ts b/src/queries/site.ts index 7e53ddcb..1b4da9e9 100644 --- a/src/queries/site.ts +++ b/src/queries/site.ts @@ -325,12 +325,16 @@ export function useTipCharacter() { } export const useGetTips = (data: { toCharacterId?: string }) => { + const contract = useContract() return useQuery(["getTips", data], async () => { if (!data.toCharacterId) { return null } - return siteModel.getTips({ - toCharacterId: data.toCharacterId, - }) + return siteModel.getTips( + { + toCharacterId: data.toCharacterId, + }, + contract, + ) }) }