diff --git a/.github/workflows/check_build_test.yml b/.github/workflows/check_build_test.yml index 19ef03a3bf..e76f5f79c2 100644 --- a/.github/workflows/check_build_test.yml +++ b/.github/workflows/check_build_test.yml @@ -88,8 +88,6 @@ jobs: run: pnpm rooch-sdk test - name: Build SDK KIT run: pnpm rooch-sdk-kit build - - name: Test SDK KIT - run: pnpm rooch-sdk-kit test - name: Build Dashboard run: pnpm dashboard build diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8800888d88..4d69d71bf6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -495,11 +495,11 @@ importers: specifier: ^1.0.7 version: 1.0.7(@types/react-dom@18.2.17)(@types/react@18.2.63)(react-dom@18.2.0)(react@18.2.0) '@roochnetwork/rooch-sdk': - specifier: 0.1.2 - version: 0.1.2 + specifier: 0.1.4 + version: 0.1.4 '@roochnetwork/rooch-sdk-kit': - specifier: 0.1.2 - version: 0.1.2(@types/react@18.2.63)(react-native@0.72.4) + specifier: 0.1.4 + version: 0.1.4(@types/react@18.2.63)(react-native@0.72.4) '@tanstack/react-query': specifier: ^5.0.0 version: 5.12.2(react@18.2.0) @@ -670,6 +670,9 @@ importers: isomorphic-fetch: specifier: ^3.0.0 version: 3.0.0 + sha256-uint8array: + specifier: ^0.10.3 + version: 0.10.7 superstruct: specifier: ^1.0.3 version: 1.0.3 @@ -752,15 +755,6 @@ importers: '@tanstack/react-query': specifier: ^5.0.0 version: 5.12.2(react@18.2.0) - base58-js: - specifier: ^1.0.0 - version: 1.0.5 - bech32: - specifier: ^2.0.0 - version: 2.0.0 - bitcoinjs-lib: - specifier: ^6.1.5 - version: 6.1.5 buffer: specifier: 6.0.0 version: 6.0.0 @@ -773,9 +767,6 @@ importers: react-dom: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) - sha256-uint8array: - specifier: ^0.10.3 - version: 0.10.7 zustand: specifier: ^4.4.1 version: 4.4.7(@types/react@18.2.42)(react@18.2.0) @@ -9426,14 +9417,14 @@ packages: dev: true optional: true - /@roochnetwork/rooch-sdk-kit@0.1.2(@types/react@18.2.63)(react-native@0.72.4): - resolution: {integrity: sha512-3ZGiGr+BXaYT30VNvWwncXZncafd+UGVVQdqFP9vNIcl4aNRvQCem625Tva/lpmiPl52Tf85Atm1QbOq/s8bHg==} + /@roochnetwork/rooch-sdk-kit@0.1.4(@types/react@18.2.63)(react-native@0.72.4): + resolution: {integrity: sha512-MWueYL9mFcyhf8DxqDOxktJUr/slRahJFt3xIgV/b4n5trKNbXZ1VJDGnMOQ4crycFhM4AewSS0i1lBRTwGoWQ==} engines: {node: '>=18.0.0'} dependencies: '@metamask/detect-provider': 2.0.0 '@metamask/sdk': 0.14.1(@types/react@18.2.63)(react-dom@18.2.0)(react-native@0.72.4)(react@18.2.0) '@noble/hashes': 1.3.2 - '@roochnetwork/rooch-sdk': 0.1.2 + '@roochnetwork/rooch-sdk': 0.1.4 '@tanstack/react-query': 5.12.2(react@18.2.0) base58-js: 1.0.5 bech32: 2.0.0 @@ -9455,8 +9446,8 @@ packages: - utf-8-validate dev: false - /@roochnetwork/rooch-sdk@0.1.2: - resolution: {integrity: sha512-SdddLSPC/8XnNSU67Ufp9BtgNb/vHjxsskuAdLg7/aSm2PxUqL4RLvFEzoRKmjfIM/qh1auu4b7NHNo5INeSyA==} + /@roochnetwork/rooch-sdk@0.1.4: + resolution: {integrity: sha512-8zXCNcwgjTDNuP1nlhnkQamVLJo1UkRZ1AMOHvMXl4Ummdkc+Iy7tMxJThHHWRB5qHQv/ipOdnqnNCQqpEDvCA==} engines: {node: '>=18.0.0'} dependencies: '@ethersproject/bytes': 5.7.0 @@ -9466,6 +9457,8 @@ packages: '@scure/bip39': 1.2.1 '@suchipi/femver': 1.0.0 '@types/ws': 8.5.5 + base58-js: 1.0.5 + bech32: 2.0.0 events: 3.3.0 isomorphic-fetch: 3.0.0 superstruct: 1.0.3 diff --git a/rooch-portal-v1/package.json b/rooch-portal-v1/package.json index cee1308de9..84c31d5c97 100644 --- a/rooch-portal-v1/package.json +++ b/rooch-portal-v1/package.json @@ -30,8 +30,8 @@ "@radix-ui/react-tabs": "^1.0.4", "@radix-ui/react-toast": "^1.1.5", "@radix-ui/react-tooltip": "^1.0.7", - "@roochnetwork/rooch-sdk": "0.1.2", - "@roochnetwork/rooch-sdk-kit": "0.1.2", + "@roochnetwork/rooch-sdk": "0.1.4", + "@roochnetwork/rooch-sdk-kit": "0.1.4", "@tanstack/react-query": "^5.0.0", "@tanstack/react-table": "^8.11.8", "class-variance-authority": "^0.7.0", diff --git a/rooch-portal-v1/script/env.sh b/rooch-portal-v1/script/env.sh index 7bd50124e8..1f72dee168 100755 --- a/rooch-portal-v1/script/env.sh +++ b/rooch-portal-v1/script/env.sh @@ -44,7 +44,7 @@ dep_nft() { rooch move run --function default::nft::mint_entry --args object:${collection_object_id} --args string:testg # find nft - nft_obj_id=$(rooch rpc request --method rooch_queryObjectStates --params '[{"object_type":"'"${default_address}"'::nft::NFT"}, null, "10", true]' | jq -r '.data[0].object_id') + nft_obj_id=$(rooch rpc request --method rooch_queryObjectStates --params '[{"object_type":"'"${default_address}"'::nft::NFT"}, null, "10", {"descending":true, "showDisplay":true}]' | jq -r '.data[0].object_id') # transfer nft rooch move run --function rooch_framework::transfer::transfer_object --type-args default::nft::NFT --args address:$1 --args object:${nft_obj_id} diff --git a/rooch-portal-v1/src/App.tsx b/rooch-portal-v1/src/App.tsx index 3d1b4d0147..a034cb62ba 100644 --- a/rooch-portal-v1/src/App.tsx +++ b/rooch-portal-v1/src/App.tsx @@ -8,7 +8,7 @@ import { createEmotionCache } from '@/utils/create-emotion-cache' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' -import { LocalNetwork } from '@roochnetwork/rooch-sdk' +import { TestNetwork } from '@roochnetwork/rooch-sdk' import { WalletProvider, RoochClientProvider, SupportChain } from '@roochnetwork/rooch-sdk-kit' import { DashboardLayout } from '@/pages/dashboard-layout' @@ -24,7 +24,7 @@ function App() { <> - + diff --git a/rooch-portal-v1/src/pages/assets/assets-details/tabs/nft/assets-nft.tsx b/rooch-portal-v1/src/pages/assets/assets-details/tabs/nft/assets-nft.tsx index 384e5fdeb9..48f5894ca1 100644 --- a/rooch-portal-v1/src/pages/assets/assets-details/tabs/nft/assets-nft.tsx +++ b/rooch-portal-v1/src/pages/assets/assets-details/tabs/nft/assets-nft.tsx @@ -53,27 +53,26 @@ export const AssetsNft = () => { }), [paginationModel], ) - // TODO: How do I get all the nft - // TODO: 1, fetch data/image loading, 2, pagination const { data: nfts, refetch: reFetchNFTS, isLoading, isError, - } = useRoochClientQuery('queryGlobalStates', { + } = useRoochClientQuery('queryObjectStates', { filter: { object_type_with_owner: { owner: sessionKey?.getAddress() || '', object_type: `${ROOCH_OPERATING_ADDRESS}::nft::NFT`, }, }, - // TODO: 待解决的类型问题 // @ts-ignore cursor: queryOptions.cursor, limit: queryOptions.pageSize, descending_order: true, }) + console.log(nfts) + // fetch collection info useEffect(() => { const fetchCollectionInfo = async () => { @@ -84,7 +83,7 @@ export const AssetsNft = () => { nfts.data .map((item) => ({ key: item.object_id, - collection: item.value.value.collection, + collection: (item.value as any).value.value.value.collection, })) .map(async (obj) => { const result = await client.getStates({ accessPath: `/object/${obj.collection}` }) @@ -213,7 +212,7 @@ export const AssetsNft = () => { - {nft.value.value.name as string} + {(nft.value as any).value.name as string} {/*{nft.price}*/} diff --git a/sdk/typescript/rooch-sdk-kit/package.json b/sdk/typescript/rooch-sdk-kit/package.json index bf9d90c9ed..358dce372a 100644 --- a/sdk/typescript/rooch-sdk-kit/package.json +++ b/sdk/typescript/rooch-sdk-kit/package.json @@ -1,7 +1,7 @@ { "name": "@roochnetwork/rooch-sdk-kit", "author": "Rooch.network ", - "version": "0.1.3", + "version": "0.1.5", "description": "Rooch SDK Kit", "license": "Apache-2.0", "engines": { @@ -78,11 +78,7 @@ "react-dom": "^18.2.0", "@noble/hashes": "^1.3.0", "@roochnetwork/rooch-sdk": "workspace:*", - "bitcoinjs-lib": "^6.1.5", "buffer": "6.0.0", - "sha256-uint8array": "^0.10.3", - "base58-js": "^1.0.0", - "bech32": "^2.0.0", "clsx": "^2.0.0", "zustand": "^4.4.1", "@tanstack/react-query": "^5.0.0" diff --git a/sdk/typescript/rooch-sdk-kit/src/types/address/base58-js.d.ts b/sdk/typescript/rooch-sdk-kit/src/types/address/base58-js.d.ts deleted file mode 100644 index ee52016f5a..0000000000 --- a/sdk/typescript/rooch-sdk-kit/src/types/address/base58-js.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) RoochNetwork -// SPDX-License-Identifier: Apache-2.0 - -declare module 'base58-js' -declare module 'sha256-uint8array' - -declare function createHash(algorithm?: string): Hash - -declare class Hash { - update(data: string, encoding?: string): this - update(data: Uint8Array): this - update(data: ArrayBufferView): this - - digest(): Uint8Array -} diff --git a/sdk/typescript/rooch-sdk-kit/src/types/address/bitcoinAddress.ts b/sdk/typescript/rooch-sdk-kit/src/types/address/bitcoinAddress.ts deleted file mode 100644 index 179ac3ca98..0000000000 --- a/sdk/typescript/rooch-sdk-kit/src/types/address/bitcoinAddress.ts +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (c) RoochNetwork -// SPDX-License-Identifier: Apache-2.0 - -import { base58_to_binary } from 'base58-js' -import { bech32, bech32m } from 'bech32' -import { createHash } from 'sha256-uint8array' - -const sha256 = (payload: Uint8Array) => createHash().update(payload).digest() - -enum Network { - mainnet = 'mainnet', - testnet = 'testnet', - regtest = 'regtest', -} - -// The method used to distinguish bitcoin address payload type. -// Ref: BitcoinAddressPayloadType https://github.com/rooch-network/rooch/blob/main/crates/rooch-types/src/address.rs -enum AddressType { - p2pkh = 0, - p2sh = 1, - p2wpkh = 2, - p2wsh = 2, - p2tr = 2, -} - -type AddressInfo = { - bytes: Uint8Array - bech32: boolean - network: Network - address: string - type: AddressType -} - -const addressTypes: { [key: number]: { type: AddressType; network: Network } } = { - 0x00: { - type: AddressType.p2pkh, - network: Network.mainnet, - }, - - 0x6f: { - type: AddressType.p2pkh, - network: Network.testnet, - }, - - 0x05: { - type: AddressType.p2sh, - network: Network.mainnet, - }, - - 0xc4: { - type: AddressType.p2sh, - network: Network.testnet, - }, -} - -const parseBech32 = (address: string): AddressInfo => { - let decoded - - try { - if (address.startsWith('bc1p') || address.startsWith('tb1p') || address.startsWith('bcrt1p')) { - decoded = bech32m.decode(address) - } else { - decoded = bech32.decode(address) - } - } catch (error) { - throw new Error('Invalid address') - } - - const mapPrefixToNetwork: { [key: string]: Network } = { - bc: Network.mainnet, - tb: Network.testnet, - bcrt: Network.regtest, - } - - const network: Network = mapPrefixToNetwork[decoded.prefix] - - if (network === undefined) { - throw new Error('Invalid address') - } - - const witnessVersion = decoded.words[0] - - if (witnessVersion < 0 || witnessVersion > 16) { - throw new Error('Invalid address') - } - const data = bech32.fromWords(decoded.words.slice(1)) - - let type - - if (data.length === 20) { - type = AddressType.p2wpkh - } else if (witnessVersion === 1) { - type = AddressType.p2tr - } else { - type = AddressType.p2wsh - } - - // replace version & add witness version - let bytes = new Uint8Array(data.length + 2) - bytes.set([type]) - bytes.set([witnessVersion], 1) - bytes.set(data, 2) - - return { - bytes: bytes, - bech32: true, - network, - address, - type, - } -} - -const getAddressInfo = (address: string): AddressInfo => { - let decoded: Uint8Array - const prefix = address.substr(0, 2).toLowerCase() - - if (prefix === 'bc' || prefix === 'tb') { - return parseBech32(address) - } - - try { - decoded = base58_to_binary(address) - } catch (error) { - throw new Error('Invalid address') - } - - const { length } = decoded - - if (length !== 25) { - throw new Error('Invalid address') - } - - const version = decoded[0] - - const checksum = decoded.slice(length - 4, length) - const body = decoded.slice(0, length - 4) - - const expectedChecksum = sha256(sha256(body)).slice(0, 4) - - if (checksum.some((value: number, index: number) => value !== expectedChecksum[index])) { - throw new Error('Invalid address') - } - - const validVersions = Object.keys(addressTypes).map(Number) - - if (!validVersions.includes(version)) { - throw new Error('Invalid address') - } - - const addressType = addressTypes[version] - - // replace version - let bytes = new Uint8Array(body.length) - bytes.set([addressType.type]) - bytes.set(body.slice(1), 1) - - return { - bytes: bytes, - ...addressType, - address, - bech32: false, - } -} - -const validate = (address: string, network?: Network) => { - try { - const addressInfo = getAddressInfo(address) - - if (network) { - return network === addressInfo.network - } - - return true - } catch (error) { - return false - } -} - -export { getAddressInfo, Network, AddressType, validate } - -export type { AddressInfo } - -export default validate diff --git a/sdk/typescript/rooch-sdk-kit/src/types/address/index.ts b/sdk/typescript/rooch-sdk-kit/src/types/address/index.ts deleted file mode 100644 index db32268aa0..0000000000 --- a/sdk/typescript/rooch-sdk-kit/src/types/address/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright (c) RoochNetwork -// SPDX-License-Identifier: Apache-2.0 - -export * from './bitcoinAddress' -export * from './multiChainAddress' diff --git a/sdk/typescript/rooch-sdk-kit/src/types/address/multiChainAddress.test.ts b/sdk/typescript/rooch-sdk-kit/src/types/address/multiChainAddress.test.ts deleted file mode 100644 index d25d36ccd6..0000000000 --- a/sdk/typescript/rooch-sdk-kit/src/types/address/multiChainAddress.test.ts +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) RoochNetwork -// SPDX-License-Identifier: Apache-2.0 - -import { describe, it, expect } from 'vitest' - -import { RoochMultiChainID } from '@roochnetwork/rooch-sdk' -import { MultiChainAddress } from './multiChainAddress' - -describe('multiChainAddress', () => { - it('should parse multi chain address is ok', () => { - // native swgwit p2wpkh - let p2wpkhAddress = 'bc1pq5ttgyqu5pmfn9aqt09d978mky2fndxr3ed3ntszta75g9q6xrlqlwyl0r' - let expectMultiChainAddressBytesWithP2wpkh = new Uint8Array([ - 0, 0, 0, 0, 0, 0, 0, 0, 34, 2, 1, 5, 22, 180, 16, 28, 160, 118, 153, 151, 160, 91, 202, 210, - 248, 251, 177, 20, 153, 180, 195, 142, 91, 25, 174, 2, 95, 125, 68, 20, 26, 48, 254, - ]) - let p2wpkhMulticChainAddress = new MultiChainAddress(RoochMultiChainID.Bitcoin, p2wpkhAddress) - expect(p2wpkhMulticChainAddress.toBytes()).toEqual(expectMultiChainAddressBytesWithP2wpkh) - - // nestd segwit p2sh-p2wpkh - let p2shAddress = '39fVbRM2TNBdNZPYeAJM7sHCPKczaZL7LV' - let expectMultiChainAddressBytesWithP2SH = new Uint8Array([ - 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 87, 119, 69, 184, 41, 233, 101, 189, 166, 156, 217, 192, 62, 9, - 151, 234, 162, 97, 49, 192, - ]) - let p2shMulticChainAddress = new MultiChainAddress(RoochMultiChainID.Bitcoin, p2shAddress) - expect(p2shMulticChainAddress.toBytes()).toEqual(expectMultiChainAddressBytesWithP2SH) - - // taproot p2tr - let p2trAddress = 'bc1pq5ttgyqu5pmfn9aqt09d978mky2fndxr3ed3ntszta75g9q6xrlqlwyl0r' - let expectMultiChainAddressBytesWithP2TR = new Uint8Array([ - 0, 0, 0, 0, 0, 0, 0, 0, 34, 2, 1, 5, 22, 180, 16, 28, 160, 118, 153, 151, 160, 91, 202, 210, - 248, 251, 177, 20, 153, 180, 195, 142, 91, 25, 174, 2, 95, 125, 68, 20, 26, 48, 254, - ]) - let p2TRMulticChainAddress = new MultiChainAddress(RoochMultiChainID.Bitcoin, p2trAddress) - expect(p2TRMulticChainAddress.toBytes()).toEqual(expectMultiChainAddressBytesWithP2TR) - - // legacy p2pkh - let p2pkhAddress = '15MJa2Jx2yA5iERwTKENY2WdWF3vnN6KVe' - let expectMultiChainAddressBytesWithP2PKH = new Uint8Array([ - 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 47, 183, 125, 16, 71, 244, 105, 179, 253, 132, 178, 184, 60, 5, - 68, 57, 97, 253, 162, 187, - ]) - let p2pkhMulticChainAddress = new MultiChainAddress(RoochMultiChainID.Bitcoin, p2pkhAddress) - expect(p2pkhMulticChainAddress.toBytes()).toEqual(expectMultiChainAddressBytesWithP2PKH) - }) -}) diff --git a/sdk/typescript/rooch-sdk-kit/src/types/address/multiChainAddress.ts b/sdk/typescript/rooch-sdk-kit/src/types/address/multiChainAddress.ts deleted file mode 100644 index 9aa8d3299b..0000000000 --- a/sdk/typescript/rooch-sdk-kit/src/types/address/multiChainAddress.ts +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) RoochNetwork -// SPDX-License-Identifier: Apache-2.0 - -import { getAddressInfo } from './bitcoinAddress' -import { bech32 } from 'bech32' -import { RoochMultiChainID, RoochMultiChainIDToString } from '@roochnetwork/rooch-sdk' -import { bcs } from '@roochnetwork/rooch-sdk' - -export class MultiChainAddress implements bcs.Serializable { - private readonly multiChainId: RoochMultiChainID - private readonly rawAddress: Uint8Array - - // TODO: support all Chain - constructor(multiChainId: RoochMultiChainID, address: string) { - this.multiChainId = multiChainId - - this.rawAddress = getAddressInfo(address).bytes - } - - getRawAddress(): Uint8Array { - return this.rawAddress - } - - toBytes(): Uint8Array { - let bs = new bcs.BcsSerializer() - this.serialize(bs) - return bs.getBytes() - } - - // TODO: remove this, add toString - toBech32(): string { - const data = [1].concat(bech32.toWords(this.rawAddress)) - const address = bech32.encode(RoochMultiChainIDToString(this.multiChainId), data) - return address - } - - serialize(se: bcs.BcsSerializer) { - se.serializeU64(this.multiChainId) - bcs.Helpers.serializeVectorU8(Array.from(this.rawAddress), se) - } -} diff --git a/sdk/typescript/rooch-sdk-kit/src/types/index.ts b/sdk/typescript/rooch-sdk-kit/src/types/index.ts index 5e3517ff43..fff136ff56 100644 --- a/sdk/typescript/rooch-sdk-kit/src/types/index.ts +++ b/sdk/typescript/rooch-sdk-kit/src/types/index.ts @@ -4,5 +4,4 @@ export * from './utilityTypes' export * from './WalletAccount' export * from './wellet' -export * from './address' export * from './WalletRoochSessionAccount' diff --git a/sdk/typescript/rooch-sdk/package.json b/sdk/typescript/rooch-sdk/package.json index dd5cf2fe3e..b0bc853ad8 100644 --- a/sdk/typescript/rooch-sdk/package.json +++ b/sdk/typescript/rooch-sdk/package.json @@ -1,7 +1,7 @@ { "name": "@roochnetwork/rooch-sdk", "author": "Rooch.network ", - "version": "0.1.3", + "version": "0.1.5", "description": "Rooch SDK", "license": "Apache-2.0", "engines": { @@ -80,7 +80,8 @@ "tweetnacl": "^1.0.3", "@ethersproject/bytes": "^5.7.0", "base58-js": "^1.0.0", - "bech32": "^2.0.0" + "bech32": "^2.0.0", + "sha256-uint8array": "^0.10.3" }, "publishConfig": { "access": "public", diff --git a/sdk/typescript/rooch-sdk/src/client/roochClient.ts b/sdk/typescript/rooch-sdk/src/client/roochClient.ts index 595dc4d917..395e30f527 100644 --- a/sdk/typescript/rooch-sdk/src/client/roochClient.ts +++ b/sdk/typescript/rooch-sdk/src/client/roochClient.ts @@ -240,7 +240,10 @@ export class RoochClient { params.filter, params.cursor || DEFAULT_NULL_CURSOR, params.limit?.toString() || DEFAULT_LIMIT, - params.descending_order || true, + { + descending: params.descending_order || true, + showDisplay: params.showDisplay || true + }, ) } @@ -249,7 +252,10 @@ export class RoochClient { params.filter, params.cursor || DEFAULT_NULL_CURSOR, params.limit?.toString() || DEFAULT_LIMIT, - params.descending_order || true, + { + descending: params.descending_order || true, + showDisplay: params.showDisplay || true + }, ) } @@ -276,7 +282,10 @@ export class RoochClient { params.filter, params.cursor?.toString() || DEFAULT_NULL_CURSOR, params.limit?.toString() || DEFAULT_LIMIT, - params.descending_order || true, + { + descending: params.descending_order || true, + showDisplay: params.showDisplay || false + }, ) } @@ -285,7 +294,10 @@ export class RoochClient { params.filter, params.cursor || DEFAULT_NULL_CURSOR, params.limit?.toString() || DEFAULT_LIMIT, - params.descending_order || true, + { + descending: params.descending_order || true, + showDisplay: params.showDisplay || false + }, ) } diff --git a/sdk/typescript/rooch-sdk/src/client/roochClientTypes.ts b/sdk/typescript/rooch-sdk/src/client/roochClientTypes.ts index 5ddc59c700..0a729c828e 100644 --- a/sdk/typescript/rooch-sdk/src/client/roochClientTypes.ts +++ b/sdk/typescript/rooch-sdk/src/client/roochClientTypes.ts @@ -92,10 +92,12 @@ export type ListStatesParams = PagesOpts & { export type QueryObjectStatesParams = PagesOpts & { filter: ObjectStateFilterView + showDisplay?: boolean } export type QueryFieldStatesParams = PagesOpts & { filter: FieldStateFilterView + showDisplay?: boolean } export type QueryInscriptionsParams = PagesOpts & { @@ -121,6 +123,7 @@ export type QueryTransactionFilterParams = export type QueryTransactionParams = PagesOpts & { filter: QueryTransactionFilterParams + showDisplay?: boolean } export type QueryEventFilterParams = @@ -132,6 +135,7 @@ export type QueryEventFilterParams = export type QueryEventParams = PagesOpts & { filter: QueryEventFilterParams + showDisplay?: boolean } export type GetBalanceParams = {