diff --git a/package.json b/package.json
index 3d422d4..424690c 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"version": "3.0.0",
"license": "MIT",
"scripts": {
- "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start",
+ "start": "react-scripts start",
"build": "yarn build:theme && react-scripts --max_old_space_size=4096 build",
"build:theme": "lessc --js ./src/bootstrap/theme.less ./src/bootstrap/theme.css",
"release": "standard-version",
diff --git a/src/components/light-search-bar.js b/src/components/light-search-bar.js
index aad68f2..7852e88 100644
--- a/src/components/light-search-bar.js
+++ b/src/components/light-search-bar.js
@@ -53,7 +53,7 @@ const OptionItem = ({ item }) => {
// there are a few ethers queries coming from here.
// they might have to be changed to subgraph queries
// TODO read and figure it out
- const { itemID, metadata: itemMetadata, registry } = item
+ const { itemID, props, registry } = item
const { id: tcrAddress } = registry
const {
gtcrView,
@@ -111,14 +111,14 @@ const OptionItem = ({ item }) => {
<>
>
) : (
- itemMetadata?.props
+ props
.filter(col => col.isIdentifier)
.map((column, j) => (
@@ -139,22 +139,18 @@ const OptionItem = ({ item }) => {
)
}
-OptionItem.propTypes = {
- item: PropTypes.shape({
- itemID: PropTypes.string,
- metadata: PropTypes.shape({
- props: PropTypes.arrayOf(
- PropTypes.shape({
- type: PropTypes.oneOf(Object.values(ItemTypes)),
- value: PropTypes.string.isRequired
- })
- )
- }),
- registry: PropTypes.shape({
- id: PropTypes.string
+OptionItem.propTypes = PropTypes.shape({
+ itemID: PropTypes.string,
+ props: PropTypes.arrayOf(
+ PropTypes.shape({
+ type: PropTypes.oneOf(Object.values(ItemTypes)),
+ value: PropTypes.string.isRequired
})
- }).isRequired
-}
+ ),
+ registry: PropTypes.shape({
+ id: PropTypes.string
+ })
+}).isRequired
const LightSearchBar = () => {
const [value, setValue] = useState()
@@ -166,15 +162,18 @@ const LightSearchBar = () => {
const [debouncedCallback] = useDebouncedCallback(input => {
if (!input || input.length === 0) setData([])
- else
+ else {
+ const where = {
+ keywords: { _ilike: `%${input.trim()}%` },
+ registry_id: { _eq: tcrAddress.toLowerCase() }
+ }
makeItemSearchQuery({
variables: {
- text: `${tcrAddress.toLowerCase()} & ${input
- .trim()
- .replace(' ', ' & ')}:*`,
+ where: where,
first: MAX_ITEM_COUNT
}
})
+ }
setWriting(false)
}, 700)
@@ -184,7 +183,7 @@ const LightSearchBar = () => {
}, [itemSearchQuery])
const options = data.map(d => {
- const itemLabels = d.item?.metadata?.props.filter(prop =>
+ const itemLabels = d?.props.filter(prop =>
searchableFields.includes(prop.type)
)
@@ -193,11 +192,11 @@ const LightSearchBar = () => {
label =
itemLabels.find(prop => prop.type === ItemTypes.TEXT)?.value ||
itemLabels[0].value
- else label = d.item.itemID
+ else label = d.itemID
return (
-
-
+
+
)
})
diff --git a/src/components/request-timelines.js b/src/components/request-timelines.js
index 8acb0cf..ea459ce 100644
--- a/src/components/request-timelines.js
+++ b/src/components/request-timelines.js
@@ -87,11 +87,11 @@ const Timeline = ({ request, item, metaEvidence }) => {
name: 'Evidence',
timestamp: e.timestamp,
transactionHash: e.txHash,
- title: e.metadata?.title,
- description: e.metadata?.description,
- URI: e.URI,
- fileURI: e.metadata?.fileURI,
- fileTypeExtension: e.metadata?.fileTypeExtension,
+ title: e.title,
+ description: e.description,
+ URI: e.uri,
+ fileURI: e.fileURI,
+ fileTypeExtension: e.fileTypeExtension,
party: e.party
}))
@@ -117,13 +117,13 @@ const Timeline = ({ request, item, metaEvidence }) => {
useEffect(() => {
const evidenceManualFetch = async () => {
const unindexedEvidenceURIs = logs
- .filter(e => e.metadata?.name === 'Evidence')
+ .filter(e => e.name === 'Evidence')
.filter(
e =>
- e.metadata?.title === null &&
- e.metadata?.description === null &&
- e.metadata?.fileURI === null &&
- e.metadata?.fileTypeExtension === null
+ e.title === null &&
+ e.description === null &&
+ e.fileURI === null &&
+ e.fileTypeExtension === null
)
.map(e => e.URI)
diff --git a/src/hooks/factory.js b/src/hooks/factory.js
index 7b42f17..a288e73 100644
--- a/src/hooks/factory.js
+++ b/src/hooks/factory.js
@@ -17,7 +17,7 @@ const useFactory = () => {
const query = {
query: `
{
- lregistry(id: "${tcrAddress.toLowerCase()}") {
+ lregistry:LRegistry_by_pk(id: "${tcrAddress.toLowerCase()}") {
id
}
}
@@ -48,7 +48,7 @@ const useFactory = () => {
const query = {
query: `
{
- registry(id: "${tcrAddress.toLowerCase()}") {
+ registry:Registry_by_pk(id: "${tcrAddress.toLowerCase()}") {
id
}
}
diff --git a/src/hooks/light-tcr-view.js b/src/hooks/light-tcr-view.js
index a2b44c0..042bd62 100644
--- a/src/hooks/light-tcr-view.js
+++ b/src/hooks/light-tcr-view.js
@@ -12,9 +12,9 @@ import { parseIpfs } from 'utils/ipfs-parse'
export const fetchMetaEvidence = async (tcr, networkId) => {
const query = {
query: `{
- lregistry(id: "${tcr.toLowerCase()}") {
+ lregistry:LRegistry_by_pk(id: "${tcr.toLowerCase()}") {
registrationMetaEvidence {
- URI
+ uri
}
connectedTCR
}
@@ -29,7 +29,7 @@ export const fetchMetaEvidence = async (tcr, networkId) => {
const { data } = await response.json()
return {
- metaEvidenceURI: data.lregistry.registrationMetaEvidence.URI,
+ metaEvidenceURI: data.lregistry.registrationMetaEvidence.uri,
connectedTCR: data.lregistry.connectedTCR
}
}
diff --git a/src/hooks/tcr-view.js b/src/hooks/tcr-view.js
index 27249eb..77713b4 100644
--- a/src/hooks/tcr-view.js
+++ b/src/hooks/tcr-view.js
@@ -16,15 +16,15 @@ import { parseIpfs } from 'utils/ipfs-parse'
export const fetchMetaEvidence = async (tcr, networkId) => {
const query = {
query: `{
- registry(id: "${tcr.toLowerCase()}") {
+ registry:Registry_by_pk(id: "${tcr.toLowerCase()}") {
registrationMetaEvidence {
- URI
+ uri
}
connectedTCR
}
- lregistry(id: "${tcr.toLowerCase()}") {
+ lregistry:LRegistry_by_pk(id: "${tcr.toLowerCase()}") {
registrationMetaEvidence {
- URI
+ uri
}
connectedTCR
}
@@ -65,12 +65,12 @@ export const fetchMetaEvidence = async (tcr, networkId) => {
if (!data?.registry && !data?.lregistry && !pgtcrData?.registry) return null
else if (data.registry !== null)
return {
- metaEvidenceURI: data.registry.registrationMetaEvidence.URI,
+ metaEvidenceURI: data.registry.registrationMetaEvidence.uri,
connectedTCR: data.registry.connectedTCR
}
else if (data.lregistry !== null)
return {
- metaEvidenceURI: data.lregistry.registrationMetaEvidence.URI,
+ metaEvidenceURI: data.lregistry.registrationMetaEvidence.uri,
connectedTCR: data.lregistry.connectedTCR
}
else
diff --git a/src/pages/items/index.js b/src/pages/items/index.js
index 3836e36..4a73bf7 100644
--- a/src/pages/items/index.js
+++ b/src/pages/items/index.js
@@ -96,30 +96,40 @@ const Items = () => {
const orderDirection = oldestFirst ? 'asc' : 'desc'
const itemsWhere = useMemo(() => {
- if (absent) return { registry: tcrAddress.toLowerCase(), status: 'Absent' }
+ if (absent)
+ return {
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'Absent' }
+ }
if (registered)
- return { registry: tcrAddress.toLowerCase(), status: 'Registered' }
+ return {
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'Registered' }
+ }
if (submitted)
return {
- registry: tcrAddress.toLowerCase(),
- status: 'RegistrationRequested'
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'RegistrationRequested' }
}
if (removalRequested)
- return { registry: tcrAddress.toLowerCase(), status: 'ClearingRequested' }
+ return {
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'ClearingRequested' }
+ }
if (challengedSubmissions)
return {
- registry: tcrAddress.toLowerCase(),
- status: 'RegistrationRequested',
- disputed: true
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'RegistrationRequested' },
+ disputed: { _eq: true }
}
if (challengedRemovals)
return {
- registry: tcrAddress.toLowerCase(),
- status: 'ClearingRequested',
- disputed: true
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'ClearingRequested' },
+ disputed: { _eq: true }
}
- return { registry: tcrAddress.toLowerCase() }
+ return { registry_id: { _eq: tcrAddress.toLowerCase() } }
}, [
absent,
challengedRemovals,
@@ -142,9 +152,9 @@ const Items = () => {
() =>
getItems({
variables: {
- skip: (Number(page) - 1) * ITEMS_PER_PAGE,
- first: MAX_ENTITIES,
- orderDirection: orderDirection,
+ offset: (Number(page) - 1) * ITEMS_PER_PAGE,
+ limit: MAX_ENTITIES,
+ order_by: [{ latestRequestSubmissionTime: orderDirection }],
where: itemsWhere
}
}),
diff --git a/src/pages/light-item-details/badges/index.js b/src/pages/light-item-details/badges/index.js
index 35d1293..52c39c6 100644
--- a/src/pages/light-item-details/badges/index.js
+++ b/src/pages/light-item-details/badges/index.js
@@ -73,8 +73,8 @@ const mapToLegacy = items =>
items
.map(item => ({
...item,
- decodedData: item.metadata?.props.map(({ value }) => value),
- mergedData: item.metadata?.props
+ decodedData: item?.props.map(({ value }) => value),
+ mergedData: item?.props
}))
.map(
({
@@ -320,23 +320,21 @@ const Badges = ({ connectedTCRAddr, item, tcrAddress }) => {
const query = {
query: `
{
- litems (where:{
- registry: "${badgeAddr.toLowerCase()}",
- metadata_: {keywords: "${keywords}"}
+ litems:LItem (where:{
+ registry_id: { _eq: "${badgeAddr.toLowerCase()}" },
+ keywords: { _eq: "${keywords}" }
}) {
itemID
status
data
- metadata{
- props {
- value
- type
- label
- description
- isIdentifier
- }
+ props {
+ value
+ type: itemType
+ label
+ description
+ isIdentifier
}
- requests(first: 1, orderBy: submissionTime, orderDirection: desc) {
+ requests(limit: 1, order_by: { submissionTime: desc }) {
disputed
disputeID
submissionTime
@@ -344,7 +342,7 @@ const Badges = ({ connectedTCRAddr, item, tcrAddress }) => {
requester
challenger
resolutionTime
- rounds(first: 1, orderBy: creationTime, orderDirection: desc) {
+ rounds(limit: 1, order_by: { creationTime: desc }) {
appealPeriodStart
appealPeriodEnd
ruling
diff --git a/src/pages/light-items/index.js b/src/pages/light-items/index.js
index c3755a2..b6a26c4 100644
--- a/src/pages/light-items/index.js
+++ b/src/pages/light-items/index.js
@@ -175,30 +175,40 @@ const Items = () => {
const orderDirection = oldestFirst ? 'asc' : 'desc'
const itemsWhere = useMemo(() => {
- if (absent) return { registry: tcrAddress.toLowerCase(), status: 'Absent' }
+ if (absent)
+ return {
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'Absent' }
+ }
if (registered)
- return { registry: tcrAddress.toLowerCase(), status: 'Registered' }
+ return {
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'Registered' }
+ }
if (submitted)
return {
- registry: tcrAddress.toLowerCase(),
- status: 'RegistrationRequested'
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'RegistrationRequested' }
}
if (removalRequested)
- return { registry: tcrAddress.toLowerCase(), status: 'ClearingRequested' }
+ return {
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'ClearingRequested' }
+ }
if (challengedSubmissions)
return {
- registry: tcrAddress.toLowerCase(),
- status: 'RegistrationRequested',
- disputed: true
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'RegistrationRequested' },
+ disputed: { _eq: true }
}
if (challengedRemovals)
return {
- registry: tcrAddress.toLowerCase(),
- status: 'ClearingRequested',
- disputed: true
+ registry_id: { _eq: tcrAddress.toLowerCase() },
+ status: { _eq: 'ClearingRequested' },
+ disputed: { _eq: true }
}
- return { registry: tcrAddress.toLowerCase() }
+ return { registry_id: { _eq: tcrAddress.toLowerCase() } }
}, [
absent,
challengedRemovals,
@@ -232,9 +242,9 @@ const Items = () => {
() =>
getItems({
variables: {
- skip: (Number(page) - 1) * ITEMS_PER_PAGE,
- first: ITEMS_PER_PAGE,
- orderDirection: orderDirection,
+ offset: (Number(page) - 1) * ITEMS_PER_PAGE,
+ limit: ITEMS_PER_PAGE,
+ order_by: [{ latestRequestSubmissionTime: orderDirection }],
where: itemsWhere,
registryId: tcrAddress.toLowerCase()
}
@@ -260,8 +270,8 @@ const Items = () => {
let { litems: items } = data
items = items.map(item => ({
...item,
- decodedData: item.metadata?.props.map(({ value }) => value),
- mergedData: item.metadata?.props
+ decodedData: item.props?.map(({ value }) => value) || [],
+ mergedData: item.props || []
}))
// HACK:
// the graph could have failed to include the props.
@@ -283,7 +293,7 @@ const Items = () => {
...i,
mergedData,
decodedData,
- metadata: { props: mergedData }
+ props: mergedData
}
return newItem
} else return i
diff --git a/src/utils/graphql/classic-item-details.js b/src/utils/graphql/classic-item-details.js
index 1ae4143..4bf5ceb 100644
--- a/src/utils/graphql/classic-item-details.js
+++ b/src/utils/graphql/classic-item-details.js
@@ -2,12 +2,12 @@ import { gql } from '@apollo/client'
const CLASSIC_ITEM_DETAILS_QUERY = gql`
query classicItemDetailsQuery($id: String!) {
- item(id: $id) {
+ item: Item_by_pk(id: $id) {
itemID
data
status
disputed
- requests(orderBy: submissionTime, orderDirection: desc) {
+ requests(order_by: { submissionTime: desc }) {
requestType
disputed
disputeID
@@ -24,22 +24,20 @@ const CLASSIC_ITEM_DETAILS_QUERY = gql`
resolutionTx
evidenceGroup {
id
- evidences(orderBy: number, orderDirection: desc) {
+ evidences(order_by: { number: desc }) {
party
- URI
+ uri
number
timestamp
txHash
- metadata {
- name
- title
- description
- fileURI
- fileTypeExtension
- }
+ name
+ title
+ description
+ fileURI
+ fileTypeExtension
}
}
- rounds(orderBy: creationTime, orderDirection: desc) {
+ rounds(order_by: { creationTime: desc }) {
appealed
appealPeriodStart
appealPeriodEnd
diff --git a/src/utils/graphql/classic-registry-items.js b/src/utils/graphql/classic-registry-items.js
index f0094a4..fc99d02 100644
--- a/src/utils/graphql/classic-registry-items.js
+++ b/src/utils/graphql/classic-registry-items.js
@@ -4,22 +4,21 @@ import { gql } from '@apollo/client'
const CLASSIC_REGISTRY_ITEMS_QUERY = gql`
query classicRegistryItemsQuery(
- $skip: Int
- $first: Int
- $orderDirection: OrderDirection
- $where: Item_filter
+ $offset: Int
+ $limit: Int
+ $order_by: [Item_order_by!]
+ $where: Item_bool_exp
) {
- items(
- skip: $skip
- first: $first
- orderDirection: $orderDirection
- orderBy: latestRequestSubmissionTime
+ items: Item(
+ offset: $offset
+ limit: $limit
+ order_by: $order_by
where: $where
) {
itemID
status
data
- requests(first: 1, orderBy: submissionTime, orderDirection: desc) {
+ requests(limit: 1, order_by: { submissionTime: desc }) {
disputed
disputeID
submissionTime
@@ -27,7 +26,7 @@ const CLASSIC_REGISTRY_ITEMS_QUERY = gql`
requester
challenger
deposit
- rounds(first: 1, orderBy: creationTime, orderDirection: desc) {
+ rounds(limit: 1, order_by: { creationTime: desc }) {
appealed
appealPeriodStart
appealPeriodEnd
diff --git a/src/utils/graphql/item-details.js b/src/utils/graphql/item-details.js
index 8fd63bc..6e10005 100644
--- a/src/utils/graphql/item-details.js
+++ b/src/utils/graphql/item-details.js
@@ -2,12 +2,12 @@ import { gql } from '@apollo/client'
const LIGHT_ITEM_DETAILS_QUERY = gql`
query lightItemDetailsQuery($id: String!) {
- litem(id: $id) {
+ litem: LItem_by_pk(id: $id) {
data
itemID
status
disputed
- requests(orderBy: submissionTime, orderDirection: desc) {
+ requests(order_by: { submissionTime: desc }) {
requestType
disputed
disputeID
@@ -24,22 +24,20 @@ const LIGHT_ITEM_DETAILS_QUERY = gql`
resolutionTime
evidenceGroup {
id
- evidences(orderBy: number, orderDirection: desc) {
+ evidences(order_by: { number: desc }) {
party
- URI
+ uri
number
timestamp
txHash
- metadata {
- name
- title
- description
- fileURI
- fileTypeExtension
- }
+ name
+ title
+ description
+ fileURI
+ fileTypeExtension
}
}
- rounds(orderBy: creationTime, orderDirection: desc) {
+ rounds(order_by: { creationTime: desc }) {
appealed
appealPeriodStart
appealPeriodEnd
diff --git a/src/utils/graphql/item-search.js b/src/utils/graphql/item-search.js
index 0555260..a2539cc 100644
--- a/src/utils/graphql/item-search.js
+++ b/src/utils/graphql/item-search.js
@@ -1,40 +1,36 @@
import { gql } from '@apollo/client'
const ITEM_SEARCH_QUERY = gql`
- query itemSearchQuery($text: String!) {
- itemSearch(text: $text, first: $first) {
- item {
+ query itemSearchQuery($where: LItem_bool_exp!, $limit: Int) {
+ itemSearch: LItem(limit: $limit, where: $where) {
+ id
+ itemID
+ data
+ props {
+ type: itemType
+ value
+ isIdentifier
+ }
+ registry {
id
- itemID
- data
- metadata {
- props {
- type
- value
- isIdentifier
- }
- }
- registry {
- id
- }
- requests(first: 1, orderBy: submissionTime, orderDirection: desc) {
- disputed
- disputeID
- submissionTime
- resolved
- requester
- challenger
- resolutionTime
- deposit
- rounds(first: 1, orderBy: creationTime, orderDirection: desc) {
- appealPeriodStart
- appealPeriodEnd
- ruling
- hasPaidRequester
- hasPaidChallenger
- amountPaidRequester
- amountPaidChallenger
- }
+ }
+ requests(limit: 1, order_by: { submissionTime: desc }) {
+ disputed
+ disputeID
+ submissionTime
+ resolved
+ requester
+ challenger
+ resolutionTime
+ deposit
+ rounds(limit: 1, order_by: { creationTime: desc }) {
+ appealPeriodStart
+ appealPeriodEnd
+ ruling
+ hasPaidRequester
+ hasPaidChallenger
+ amountPaidRequester
+ amountPaidChallenger
}
}
}
diff --git a/src/utils/graphql/light-items.js b/src/utils/graphql/light-items.js
index 2f3f561..6634d3a 100644
--- a/src/utils/graphql/light-items.js
+++ b/src/utils/graphql/light-items.js
@@ -2,13 +2,13 @@ import { gql } from '@apollo/client'
const LIGHT_ITEMS_QUERY = gql`
query lightItemsQuery(
- $skip: Int
- $first: Int
- $orderDirection: OrderDirection
- $where: LItem_filter
- $registryId: String
+ $offset: Int
+ $limit: Int
+ $order_by: [LItem_order_by!]
+ $where: LItem_bool_exp
+ $registryId: String!
) {
- lregistry(id: $registryId) {
+ lregistry: LRegistry_by_pk(id: $registryId) {
numberOfAbsent
numberOfRegistered
numberOfRegistrationRequested
@@ -16,26 +16,23 @@ const LIGHT_ITEMS_QUERY = gql`
numberOfChallengedRegistrations
numberOfChallengedClearing
}
- litems(
- skip: $skip
- first: $first
- orderDirection: $orderDirection
- orderBy: latestRequestSubmissionTime
+ litems: LItem(
+ offset: $offset
+ limit: $limit
+ order_by: $order_by
where: $where
) {
itemID
status
data
- metadata {
- props {
- value
- type
- label
- description
- isIdentifier
- }
+ props {
+ value
+ type: itemType
+ label
+ description
+ isIdentifier
}
- requests(first: 1, orderBy: submissionTime, orderDirection: desc) {
+ requests(limit: 1, order_by: { submissionTime: desc }) {
disputed
disputeID
submissionTime
@@ -44,7 +41,7 @@ const LIGHT_ITEMS_QUERY = gql`
challenger
resolutionTime
deposit
- rounds(first: 1, orderBy: creationTime, orderDirection: desc) {
+ rounds(limit: 1, order_by: { creationTime: desc }) {
appealPeriodStart
appealPeriodEnd
ruling
diff --git a/src/utils/graphql/light-registry.js b/src/utils/graphql/light-registry.js
index 59fbf83..226edf9 100644
--- a/src/utils/graphql/light-registry.js
+++ b/src/utils/graphql/light-registry.js
@@ -2,7 +2,7 @@ import { gql } from '@apollo/client'
const LIGHT_REGISTRY_QUERY = gql`
query lightRegistryQuery($lowerCaseTCRAddress: String!) {
- lregistry(id: $lowerCaseTCRAddress) {
+ lregistry: LRegistry_by_pk(id: $lowerCaseTCRAddress) {
numberOfAbsent
numberOfRegistered
numberOfRegistrationRequested
diff --git a/src/utils/graphql/tcr-existence-test.js b/src/utils/graphql/tcr-existence-test.js
index be4fc41..e356ae0 100644
--- a/src/utils/graphql/tcr-existence-test.js
+++ b/src/utils/graphql/tcr-existence-test.js
@@ -2,10 +2,10 @@ import { gql } from '@apollo/client'
const TCR_EXISTENCE_TEST = gql`
query TcrExistenceTest($tcrAddress: String!) {
- lregistry(id: $tcrAddress) {
+ lregistry: LRegistry_by_pk(id: $tcrAddress) {
id
}
- registry(id: $tcrAddress) {
+ registry: Registry_by_pk(id: $tcrAddress) {
id
}
}