From 18dc29ff8fd27d43e0bc7c90d2f9b0293bb002d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roberto=20Garc=C3=ADa?= Date: Mon, 28 Oct 2024 10:46:12 +0100 Subject: [PATCH] Adapt to AgrospAI marketplace --- .env | 33 + .github/CODEOWNERS | 3 + .github/workflows/deploy.yml | 30 + Dockerfile | 63 + README.md | 10 +- address.config.js | 54 +- chains.config.js | 14 +- content/pages/home/content.json | 15 +- content/pages/imprint.md | 24 +- content/pages/terms.md | 104 +- content/site.json | 20 +- networksMetadata.config.js | 4 +- next.config.js | 1 + package.json | 4 +- public/favicon.ico | Bin 262206 -> 1438 bytes public/icon.svg | 185 +- src/@context/UserPreferences.tsx | 2 +- src/@images/agrospai_logo.svg | 1591 +++++ src/@images/agrospai_logo_horizontal.svg | 1591 +++++ src/@images/funding-angliru.svg | 3 + src/@images/funding.svg | 5163 +++++++++++++++++ src/@utils/aquarius/index.ts | 1 + src/components/@shared/Onboarding/Header.tsx | 9 + .../@shared/Onboarding/Steps/Ready.module.css | 2 +- .../@shared/Onboarding/Steps/Ready.tsx | 16 +- .../@shared/Page/PageHeader.module.css | 2 +- src/components/@shared/Page/PageHeader.tsx | 2 - .../@shared/atoms/Logo/index.module.css | 9 +- src/components/@shared/atoms/Logo/index.tsx | 4 +- .../FormConsumerParameters.tsx | 7 +- src/components/Footer/Footer.module.css | 14 +- src/components/Footer/Footer.tsx | 37 +- src/components/Footer/Links.tsx | 6 +- src/components/Header/Menu.module.css | 13 +- src/components/Header/SearchBar.module.css | 4 +- src/components/Home/index.tsx | 6 +- src/components/Publish/_utils.ts | 2 +- src/stylesGlobal/_variables.css | 13 +- 38 files changed, 8852 insertions(+), 209 deletions(-) create mode 100644 .env create mode 100644 .github/workflows/deploy.yml create mode 100644 Dockerfile create mode 100644 src/@images/agrospai_logo.svg create mode 100644 src/@images/agrospai_logo_horizontal.svg create mode 100644 src/@images/funding-angliru.svg create mode 100644 src/@images/funding.svg diff --git a/.env b/.env new file mode 100644 index 00000000..ac9fe5bb --- /dev/null +++ b/.env @@ -0,0 +1,33 @@ +#NEXT_PUBLIC_COMPLIANCE_URI="https://compliance.arlabdevelopments.com/development" +NEXT_PUBLIC_COMPLIANCE_URI="https://compliance.lab.gaia-x.eu/v1-staging" + +#NEXT_PUBLIC_INFURA_PROJECT_ID="xxx" +#NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID="xxx" +#NEXT_PUBLIC_MARKET_FEE_ADDRESS="0xxx" +#NEXT_PUBLIC_PUBLISHER_MARKET_ORDER_FEE="1" +#NEXT_PUBLIC_PUBLISHER_MARKET_FIXED_SWAP_FEE="1" +#NEXT_PUBLIC_CONSUME_MARKET_ORDER_FEE="1" +#NEXT_PUBLIC_CONSUME_MARKET_FIXED_SWAP_FEE="1" + +# +### ADVANCED SETTINGS +# + +# Toggle pricing options presented during price creation +#NEXT_PUBLIC_ALLOW_FIXED_PRICING="true" +#NEXT_PUBLIC_ALLOW_FREE_PRICING="true" + +# Privacy Preference Center +#NEXT_PUBLIC_PRIVACY_PREFERENCE_CENTER="true" + +# Development Preference Center +#NEXT_PUBLIC_NFT_FACTORY_ADDRESS='0xxx' +#NEXT_PUBLIC_OPF_COMMUNITY_FEE_COLECTOR='0xxx' +#NEXT_PUBLIC_FIXED_RATE_EXCHANGE_ADDRESS='0xxx' +#NEXT_PUBLIC_DISPENSER_ADDRESS='0xxx' +#NEXT_PUBLIC_OCEAN_TOKEN_ADDRESS='0xxx' +#NEXT_PUBLIC_MARKET_DEVELOPMENT='true' +#NEXT_PUBLIC_PROVIDER_URL="http://xxx:xxx" +#NEXT_PUBLIC_SUBGRAPH_URI="http://xxx:xxx" +#NEXT_PUBLIC_METADATACACHE_URI="http://xxx:xxx" +#NEXT_PUBLIC_RPC_URI="http://xxx:xxx" diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 6a399c72..ab15f721 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -10,3 +10,6 @@ pontusxAddresses.json @deltaDAO/qa @deltaDAO/frontend content/* @deltaDAO/qa @deltaDAO/frontend # Directory managing publicly hosted images public/images/* @deltaDAO/qa @deltaDAO/frontend + +# Adaptations for the AgrospAI marketplace +* @rogargon diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..a6961adf --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,30 @@ +name: deploy + +on: + push: + branches: + - 'agrospai' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + env: + COMMIT_REF: ${{ github.sha }} + BRANCH: 'agrospai' + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v4 + with: + push: true + tags: | + rhizomik/marketplace:${{ github.sha }} + rhizomik/marketplace:latest diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..a109f70f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,63 @@ +FROM node:18-alpine AS base + +# Install dependencies only when needed +FROM base AS deps +# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. +RUN apk add --no-cache libc6-compat +WORKDIR /app + +# Install dependencies based on the preferred package manager +COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ +RUN \ + if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ + elif [ -f package-lock.json ]; then npm ci --ignore-scripts; \ + elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i --frozen-lockfile; \ + else echo "Lockfile not found." && exit 1; \ + fi + + +# Rebuild the source code only when needed +FROM base AS builder +WORKDIR /app +COPY --from=deps /app/node_modules ./node_modules +COPY . . + +# Next.js collects completely anonymous telemetry data about general usage. +# Learn more here: https://nextjs.org/telemetry +# Uncomment the following line in case you want to disable telemetry during the build. +ENV NEXT_TELEMETRY_DISABLED 1 + +# RUN yarn build + +# If using npm comment out above and use below instead +ENV BRANCH 'udl' +ENV COMMIT_REF 0.1 +RUN npm run postinstall +RUN npm run build + +# Production image, copy all the files and run next +FROM base AS runner +WORKDIR /app + +ENV NODE_ENV production +# Uncomment the following line in case you want to disable telemetry during runtime. +ENV NEXT_TELEMETRY_DISABLED 1 + +RUN addgroup --system --gid 1001 nodejs +RUN adduser --system --uid 1001 nextjs + +USER nextjs + +COPY --from=builder /app/public ./public + +# Automatically leverage output traces to reduce image size +# https://nextjs.org/docs/advanced-features/output-file-tracing +COPY --from=builder /app/.next/standalone ./ +COPY --from=builder /app/.next/static ./.next/static + +EXPOSE 3000 + +ENV PORT 3000 +ENV HOSTNAME localhost + +CMD ["node", "server.js"] diff --git a/README.md b/README.md index acfae3c8..422bdb21 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,6 @@ -[![banner](https://raw.githubusercontent.com/oceanprotocol/art/master/github/repo-banner%402x.png)](https://oceanprotocol.com) +

AgrospAI Data Space

-

Ocean Marketplace

- -[![Build Status](https://github.com/oceanprotocol/market/workflows/CI/badge.svg)](https://github.com/oceanprotocol/market/actions) -[![Netlify Status](https://api.netlify.com/api/v1/badges/c85f4d8b-95e1-4010-95a4-2bacd8b90981/deploy-status)](https://app.netlify.com/sites/market-oceanprotocol/deploys) -[![Maintainability](https://api.codeclimate.com/v1/badges/d114f94f75e6efd2ee71/maintainability)](https://codeclimate.com/repos/5e3933869a31771fd800011c/maintainability) -[![Test Coverage](https://api.codeclimate.com/v1/badges/da71759866eb8313d7c2/test_coverage)](https://codeclimate.com/github/oceanprotocol/market/test_coverage) -[![js oceanprotocol](https://img.shields.io/badge/js-oceanprotocol-7b1173.svg)](https://github.com/oceanprotocol/eslint-config-oceanprotocol) +[![Build Status](https://github.com/agrospai/mvg-portal/workflows/deploy/badge.svg)](https://github.com/rhizomik/mvg-portal/actions) **Table of Contents** diff --git a/address.config.js b/address.config.js index 12c3a4d9..d24f4028 100644 --- a/address.config.js +++ b/address.config.js @@ -7,52 +7,24 @@ module.exports = { }, featured: [ { - title: 'Smart Mobility, Automotive', + title: 'AI-based Animal Well-being Assessment without Images Leakage', assets: [ - 'did:op:f892fdeb6e4aead439a992ee66322d96d625f7acfed999e633c4b5c81b0968a9', // Hamburg Urban Data - 'did:op:60345a1cffaf69e978846858760f69ebe6688e3fa1b9a21f2cdb81b82c415049', // Road Condition Short - 'did:op:4103da1b9000f90c4262b94353b23175e490f47e3fd9bf3bda440f550178f423', // Road Condition Long - 'did:op:423ae6f53c14980e871ba8109f1f493077c1691dac7a56c413a973238a90f2fa', // Hamburg Road 18 - 'did:op:61788149bc0837d0bea0ee32b04eb8bebb20c2e73e1098cfdec4807d86eddac7', // Hamburg Road 17 - 'did:op:1cccfa6b2de76b2f831183c9404675a84f12c336c2ebde87dbfad9e2b39c1295', // SH Road 16 - 'did:op:f6b81477c783e84cb9fbb0d7b57b1974b6f0a86067f2f17bbdd9f2e2dd7802a3', // SH Road 15 - 'did:op:555b7d7c03f365c9166afb4524fe5e332f9794fbeb5e9770fe47d1da9adff9c4', // SH Road 14 - 'did:op:aea8d72bd0ea2f2633599caa69488b212ecaa7fb0b44abb0e3c58494da143b95', // SH Road 13 - 'did:op:1501d13f41eca77a6a5449a1ecf5d8ff5ca4a1881889af5b8912629ab71856e5', // zone - 'did:op:14f5679644249e7889b85d9964abb96eb31eb5537651d3458b9616d29450772c' // ArcGIS + // Mask R-CNN segmentation & Tracking + 'did:op:2c0e29e89bee015cbbbaa46ce7f9a566a2cb541367bca926c5552a1b2d697892', + // CEP Pigs Images + 'did:op:31d6d1ea0fc540e1ea6e5268ebfd53e8129992cd6971dfbbbd0b88b08ca6f939' ] }, { - title: 'Manufacturing, Industry 4.0', + title: + 'Precision Pig Feeding Semantic Data Integration and Sovereign Data Pooling', assets: [ - 'did:op:ec6abd810b3f3d9f3cf7fbbfd3462e289ee9700f0a1ca492adaf6a8c7d0bdce7', // EuPro 882 - 'did:op:291ac52240e7c422aa8e67f9369efa7b30cbdc3f494922f1b646a8091a97fdb6', // CO2 - 'did:op:c524a2ad8aab175315cdbb106289114079637529af988874c1a31e9a179e4540', // Condition Monitoring - 'did:op:3bee178505bf07494aeaafe67b5d98b5ebd0986bb56d6673e718f8ac4e090c8a', // EuPro 881 - 'did:op:daecfe8261713a3854bdb59de6e6eba1e614dae3a40f436f955f2a94559a88ca', // EuPro 880 - 'did:op:f203cde14dc2fa67b58156009463cae1b6679b76e6387da8c43951846788d1a8', // Defects Algo - 'did:op:535c60bdf170de37d818f69765f1382dd680b63f245b1a30b897b46ddc753064', // Defects Data - 'did:op:8b6e04b2f06290c75926756f814413c134a4fb701c607824fd7f7877f0292483', // AAS - 'did:op:e75f58835ca5ac41bdd3464a4229108e1f74e81b71bd691ecca37ac33a79a6e8', // AAS - 'did:op:ba056765418629a645d1cea3b6254d1ae8f374fd893edba6c4ddee5f097fefc2', // AAS - 'did:op:ea274c721f8c7d36787401dbe7b0fd83670ee50a83aee9d7f1e49060257aa618', // AAS - 'did:op:77cb936c42ca521393cdb423926c022b0cbb4442aff2b63a9cfecb2c74941843', // AAS - 'did:op:b5c7eb3887469a532a021020365259055084af3d7bd047a8a79a865ee848598e' // AAS - ] - }, - { - title: 'Text Analysis, Language Processing, and more', - assets: [ - 'did:op:73c511711d6ad19794cd3797149e3a9fbd6d615246ae2be8d56938985b715ed4', // Cross Asia Text - 'did:op:fca47f74bd99d3a3c523bc3242497df4a098ceb028940428db18200c26e74995', // Cross Asia Algo - 'did:op:ee381eb15d25d27b663565984601699473afeba4ba2efa43d9b6f9c88827f625', // XAsia Prob Data - 'did:op:a63864d02fbda42fa945eb071093bfd69e2b9de2e083382028c531d468996875' // XAsia Prob Algo - ] - }, - { - title: 'Finance, Business Analytics, and more', - assets: [ - 'did:op:ab4b4a4953b8fddb69c5a68ce12c10727a002cc160fb9d0dd37aadbfb8de95af' // PMO + // CEP's CSV Data Mapper and Semantic Data Pooler + 'did:op:d20f956e79709fb2469fffe2bd85cf2fec95a21d2497998bb530043c6bbec901', + // CEP Pigs Feeding Data + 'did:op:f7946c46eb87318b2cd34efdd5f33b19ea9223a90b67f447da6a92aa68ca007c', + // Exploratory Data Analysis + 'did:op:34d5f73d77550843201ee1a43ad9d404d3e557ed6a70772e9afde7a27d863b8f' ] } ], diff --git a/chains.config.js b/chains.config.js index 5c0aac1a..06853e64 100644 --- a/chains.config.js +++ b/chains.config.js @@ -4,7 +4,7 @@ const chains = [ { chainId: 32456, - isDefault: false, + isDefault: true, isCustom: true, network: 'pontusx-devnet', oceanTokenSymbol: 'OCEAN', @@ -18,12 +18,12 @@ const chains = [ transactionConfirmationBlocks: 1, transactionPollingTimeout: 750, gasFeeMultiplier: 1.1, - providerUri: 'https://provider.dev.pontus-x.eu', - providerAddress: '0x68C24FA5b2319C81b34f248d1f928601D2E5246B', + providerUri: 'https://provider.agrospai.udl.cat', + providerAddress: '0x94549951623DD6c3265DBbB1b032d6cF48Ba7811', metadataCacheUri: 'https://aquarius.pontus-x.eu', nodeUri: 'https://rpc.dev.pontus-x.eu', subgraphUri: 'https://subgraph.dev.pontus-x.eu', - explorerUri: 'https://explorer.pontus-x.eu/devnet/pontusx' + explorerUri: 'https://explorer.pontus-x.eu/pontusx/dev' }, { chainId: 32457, @@ -41,12 +41,12 @@ const chains = [ transactionConfirmationBlocks: 1, transactionPollingTimeout: 750, gasFeeMultiplier: 1.1, - providerUri: 'https://provider.test.pontus-x.eu', - providerAddress: '0x9546d39CE3E48BC942f0be4AA9652cBe0Aff3592', + providerUri: 'https://provider.agrospai.udl.cat', + providerAddress: '0x94549951623DD6c3265DBbB1b032d6cF48Ba7811', metadataCacheUri: 'https://aquarius.pontus-x.eu', nodeUri: 'https://rpc.test.pontus-x.eu', subgraphUri: 'https://subgraph.test.pontus-x.eu', - explorerUri: 'https://explorer.pontus-x.eu/testnet/pontusx' + explorerUri: 'https://explorer.pontus-x.eu/pontusx/test' } ] diff --git a/content/pages/home/content.json b/content/pages/home/content.json index 67dccb72..2e0ce169 100644 --- a/content/pages/home/content.json +++ b/content/pages/home/content.json @@ -1,7 +1,7 @@ { "teaser": { - "title": "Pontus-X: Technical Data Sovereignty", - "text": "Pontus-X represents the next generation of data infrastructure: an **open, transparent and secure digital ecosystem**, where data and services can be made available, collated and shared in an environment of trust. The architecture of Pontus-X is based on Gaia-X and on the principle of decentralization." + "title": "", + "text": "" }, "paragraphs": [ { @@ -12,18 +12,11 @@ "image": "/images/ecosystem.webp" }, { - "title": "Compute-to-Data and its benefits", - "body": "One core concept of Ocean Enterprise is the **Compute-to-Data (CtD)** approach. Compute-to-Data is the functionality that solves the current trade-off between the benefits of using private data and the risks of exposing it. It allows data consumers to run compute jobs on private data while the data stays on-premise with the data provider.", + "title": "Data Sovereignty by Design", + "body": "One core concept of AgrospAI is the **Compute-to-Data (CtD)** approach. Compute-to-Data is the functionality that solves the current trade-off between the benefits of using private data and the risks of exposing it. It allows data consumers to run compute jobs on private data while the data stays on-premise with the data provider, who retains control.", "cta": "Learn More", "ctaTo": "https://docs.pontus-x.eu/docs/technical-architecture/architecture-overview", "image": "/images/ctd_benefits.webp" - }, - { - "title": "Gaia-X Digital Clearing House (GXDCH)", - "body": "The Pontus-X ecosystem provided a direct integration with the Gaia-X Digital Clearing Houses (GXDCH). We fast track your onboarding to X-ecosystems and to offering your services in Gaia-X‍ ecosystems. The GXDCH safeguard the distributed, decentralised ways of running the Gaia-X compliance.", - "cta": "Learn More", - "ctaTo": "https://gaia-x.eu/gxdch/", - "image": "/images/gxdch_powered.webp" } ] } diff --git a/content/pages/imprint.md b/content/pages/imprint.md index 86ca6677..227977a2 100644 --- a/content/pages/imprint.md +++ b/content/pages/imprint.md @@ -1,20 +1,12 @@ --- -title: Imprint -description: Thanks for using our product and services. +title: Contact Information --- -deltaDAO AG
-Katharinenstraße 30a (Contor)
-20457 Hamburg
-Germany

+Roberto García ([roberto.garcia@udl.cat](mailto:roberto.garcia@udl.cat)) +Associate Professor -**Phone**: +49 40 43281904
-**E-Mail**: [contact@delta-dao.com](mailto:contact@delta-dao.com)

- -**Members of the Board**: Frederic Schwill, Kai Meinke, Albert Peci
-**Chairman of the Supervisory Board**: Dr. Sven Hildebrandt

- -**Commercial register**: Handelsregister B des Amtsgerichts Hamburg, HRB 170364
-**USt – IdNr**: DE346013532

- -The European Commission provides a platform for online dispute resolution, which you can find here: . We are not obliged or willing to participate in a dispute resolution procedure before a consumer arbitration board. +Computer Science and Digital Design Department +Universitat de Lleida +Jaume II, 69 +25001 Lleida +Spain diff --git a/content/pages/terms.md b/content/pages/terms.md index 72524278..3b177652 100644 --- a/content/pages/terms.md +++ b/content/pages/terms.md @@ -3,9 +3,9 @@ title: Terms and Conditions description: Thanks for using our product and services. --- -# deltaDAO DATA PORTAL - TERMS AND CONDITIONS +# AgrospAI DATA PORTAL - TERMS AND CONDITIONS -deltaDAO (as defined below) provides a technical infrastructure for a digital portal enabling access to Data (as defined below). Based on these terms and conditions, a customer (as defined below) and deltaDAO enter into an agreement which governs the customer’s access to and use of the data portal (as defined below) and takes effect on the date of deltaDAO’s acceptance of such customer’s offer. +UdL (as defined below) provides a technical infrastructure for a digital portal enabling access to Data (as defined below). Based on these terms and conditions, a customer (as defined below) and UdL enter into an agreement which governs the customer’s access to and use of the data portal (as defined below) and takes effect on the date of UdL’s acceptance of such customer’s offer. ### Table of contents @@ -16,11 +16,11 @@ Capitalised terms shall have the meaning given to them in this Agreement; and: **"Access Controllers"** means an infrastructure component of the Data ecosystem managing access to Data. -**"Agreement"** means the agreement between the Customer and deltaDAO based on these terms and conditions. +**"Agreement"** means the agreement between the Customer and UdL based on these terms and conditions. **"Consumption"** means the transfer of the Service Offering Token to the respective Publisher by which the respective Customer redeems the Service Offering Token for the respective Service Offering and creates the respective Data audit trail (i.e., documentation of access activities to the Data). -**"Customer"** means any legal entity acting as an entrepreneur pursuant to § 14 of the German Civil Code, duly registered on the Data Portal, that: (a) creates a Service Offering, (b) uses (including compute-to-data) such Service Offering, or (c) otherwise accesses or uses the Data Portal, including pseudonymous users. +**"Customer"** means any legal entity duly registered on the Data Portal, that: (a) creates a Service Offering, (b) uses (including compute-to-data) such Service Offering, or (c) otherwise accesses or uses the Data Portal, including pseudonymous users. **"Customer Account"** means the functionality by means of which the Customer gains permission for the Consumption and Publication of Service Offerings on the Data Portal by SSI/DID and Verifiable Credentials and, if applicable, further authentication data or alternative authentication techniques (e.g., entering username and password) if available. @@ -34,16 +34,14 @@ Capitalised terms shall have the meaning given to them in this Agreement; and: **"Service Offering Token"** means a token created by the Publisher enabling the use of the related Service Offering and creating the respective Data audit trail via the selected EVM Compatible Blockchain (i.e., documentation of access activities to the Data). -**"deltaDAO"** means deltaDAO AG, Katharinenstraße 30a, 20457 Hamburg, Germany as provider of the Data Portal. +**"UdL"** means Universitat de Lleida, Víctor Siurana 1, 25003 Lleida, Spain, as provider of the Data Portal. -**"deltaDAO Content"** means software or data which deltaDAO is entitled to. +**"UdL Content"** means software or data which UdL is entitled to. **"EVM Compatible Blockchain"** means any blockchain or distributed ledger technology solutions compatible with the Ethereum Virtual Machine technology. **"Gas Fee"** means the transaction fee required by EVM Compatible Blockchains for processing a transaction, if any. -**"German Civil Code"** means the Bürgerliches Gesetzbuch as amended from time to time. - **"Lifecycle State"** means the following properties of metadata: "active", "end-of-life", "deprecated", "revoked", “disabled”, and “unlisted”, describing the state of Service Offerings throughout their lifecycles and being subject to the Service Lifecycle Management pursuant to respective Policies, made available on the Data Portal. **"Personal Data"** means any information relating to an identified or identifiable natural person. @@ -56,13 +54,13 @@ Capitalised terms shall have the meaning given to them in this Agreement; and: **“Service Lifecycle Management”** means a mechanism to change the visibility of any Service Offering from the Data Portal depending on the Lifecycle State. -**"Service"** means all websites, software and services offered and operated by deltaDAO in connection with the provision of the Data Portal from time to time. +**"Service"** means all websites, software and services offered and operated by UdL in connection with the provision of the Data Portal from time to time. **“Terms”** means these terms and conditions. **"Third-Party Content"** means Service Offerings published by other parties but the Customer. -**"Website"** means the website at https://portal.pontus-x.eu/ (and any successor or related site designated by deltaDAO), as may be updated by deltaDAO from time to time. +**"Website"** means the website at https://agrospai.udl.cat (and any successor or related site designated by UdL), as may be updated by UdL from time to time. **1.2 Interpretation** **1.2.1** Unless specified otherwise, these Terms shall be construed as follows: @@ -75,35 +73,35 @@ Capitalised terms shall have the meaning given to them in this Agreement; and: **_1.2.1.4_** insofar as the context permits, a reference to the feminine form shall include the masculine form and vice versa. -**1.2.2** This Agreement is made in the English language. For the avoidance of doubt, the English language version of this Agreement shall prevail over any translation of this Agreement. However, where a German language term has been added to an English language term, such German term shall be decisive throughout. +**1.2.2** This Agreement is made in the English language. For the avoidance of doubt, the English language version of this Agreement shall prevail over any translation of this Agreement. However, where a Spanish language term has been added to an English language term, such Spanish term shall be decisive throughout. ## 2. Registration, Access to and Use of the Data Portal -**2.1** The use of the Data Portal requires the registration of the Customer. The Customer shall complete the accreditation process and provide all specified information and documents. The Customer confirms their offer to consume or publish Service Offerings via the Data Portal by actively selecting the respective Terms and Conditions checkbox and thereby accepting this Terms. Upon acceptance of this Terms by the Customer an Agreement is concluded which entitles the Customer to the Consumption and Publication of Service Offering on the Data Portal. The Customer waives the receipt of the acceptance declaration pursuant to section 151 German Civil Code. +**2.1** The use of the Data Portal requires the registration of the Customer. The Customer shall complete the accreditation process and provide all specified information and documents. The Customer confirms their offer to consume or publish Service Offerings via the Data Portal by actively selecting the respective Terms and Conditions checkbox and thereby accepting this Terms. Upon acceptance of this Terms by the Customer an Agreement is concluded which entitles the Customer to the Consumption and Publication of Service Offering on the Data Portal. **2.2** The Customer can access and use the Data Portal in accordance with the Agreement. The Customer undertakes to comply with this Agreement and all laws, rules and regulations as well as Policies applicable to Customer’s use of the Data Portal. -**2.3** The Data Portal provides a portal enabling Customers to access and utilise Service Offerings. Publishers can publish Service Offerings on the portal by using the form provided by deltaDAO and then clicking the “SUBMIT” button. The Publisher is responsible for the information provided in the form which describes the Service Offering and for the content of the Service Offering. When publishing the Service offering, a Service Offering Token will be created via the respective EVM Compatible Blockchain. The Service Offering Token manages access rights to the respective Service Offering and enables Data Buyers to interact directly with Publishers. +**2.3** The Data Portal provides a portal enabling Customers to access and utilise Service Offerings. Publishers can publish Service Offerings on the portal by using the form provided by UdL and then clicking the “SUBMIT” button. The Publisher is responsible for the information provided in the form which describes the Service Offering and for the content of the Service Offering. When publishing the Service offering, a Service Offering Token will be created via the respective EVM Compatible Blockchain. The Service Offering Token manages access rights to the respective Service Offering and enables Data Buyers to interact directly with Publishers. **2.4** The Data Portal displays published Service Offerings including their description and enables Customers to discover Service Offerings by means of a query mechanism. **2.5** The Data Portal further enables the Consumption of Service Offerings by acquiring the respective Service Offering Token via the respective EVM Compatible Blockchain and hence access to the Service Offering. -**2.6** The Customer is responsible for its own activity on the Data Portal. The Customer must adhere to the laws in its own legal jurisdiction as well as their conscience. deltaDAO is not responsible for any malicious use of the Data Portal or any losses associated with the use of the Data Portal of any source. Some layers in Data ecosystems also accessible via the Data Portal may require the Customer to create and keep up to date verified credentials. +**2.6** The Customer is responsible for its own activity on the Data Portal. The Customer must adhere to the laws in its own legal jurisdiction as well as their conscience. UdL is not responsible for any malicious use of the Data Portal or any losses associated with the use of the Data Portal of any source. Some layers in Data ecosystems also accessible via the Data Portal may require the Customer to create and keep up to date verified credentials. ## 3. Customer’s Responsibilities -**3.1** The Customer is responsible for all activities undertaken from its Customer Account, regardless of whether the activities are authorized by the Customer or undertaken by the Customer, the Customer’s employees or a third party (including the Customer’s contractors and agents). deltaDAO and its affiliates are not responsible for unauthorized access to the Customer Account. The Customer will be deemed to have taken any action relating to its Customer Account. +**3.1** The Customer is responsible for all activities undertaken from its Customer Account, regardless of whether the activities are authorized by the Customer or undertaken by the Customer, the Customer’s employees or a third party (including the Customer’s contractors and agents). UdL and its affiliates are not responsible for unauthorized access to the Customer Account. The Customer will be deemed to have taken any action relating to its Customer Account. **3.2** The Customer will ensure that published Service Offerings and the Customer’s use of Service Offerings or the Data Portal will not violate any of the Policies or any applicable law. The Customer is solely responsible for the development, content, operation, maintenance, availability, and use of published Service Offerings. The Publisher is also solely responsible for ensuring that the content of the metadata provided via the description form complies with applicable law. **The Customer will not provide Personal Data in the metadata and Service Offering.** -**3.3** The Customer will ensure that all third parties comply with its obligations according to this Agreement, mirroring those of the Customer under the Agreement and that the terms of any Customer’s agreements with third parties are consistent with this Agreement. If the Customer becomes aware of any violation of Customer’s obligations under this Agreement caused by a third party, the Customer will immediately suspend access to published Service Offerings and the Data Portal by such third party. deltaDAO does not provide any support or services to third parties, unless deltaDAO has a separate agreement with the Customer or a third party obligating deltaDAO to provide such support or services. +**3.3** The Customer will ensure that all third parties comply with its obligations according to this Agreement, mirroring those of the Customer under the Agreement and that the terms of any Customer’s agreements with third parties are consistent with this Agreement. If the Customer becomes aware of any violation of Customer’s obligations under this Agreement caused by a third party, the Customer will immediately suspend access to published Service Offerings and the Data Portal by such third party. UdL does not provide any support or services to third parties, unless UdL has a separate agreement with the Customer or a third party obligating UdL to provide such support or services. -**3.4** deltaDAO does not store or has access to any sensitive account information including keys. The Customer is responsible for the availability and maintenance of any information related to the Customer Account. +**3.4** UdL does not store or has access to any sensitive account information including keys. The Customer is responsible for the availability and maintenance of any information related to the Customer Account. ## 4. Fees and Payment -**4.1** If a Customer elects to publish or consume Service Offerings on the Data Portal, which includes the generation and purchase of the respective Service Offering Token, it will be conducted solely through EVM Compatible Blockchains via compatible Web3 wallets. deltaDAO will have no insight into or control over these activities, nor does deltaDAO have the ability to reverse any of these or any transaction resulting therefrom. +**4.1** If a Customer elects to publish or consume Service Offerings on the Data Portal, which includes the generation and purchase of the respective Service Offering Token, it will be conducted solely through EVM Compatible Blockchains via compatible Web3 wallets. UdL will have no insight into or control over these activities, nor does UdL have the ability to reverse any of these or any transaction resulting therefrom. **4.2** EVM Compatible Blockchains may require the payment of a Gas Fee for every transaction occurring. The Gas Fee typically funds the network of computers that run the EVM Compatible Blockchains. This means that the Customer will need to pay a Gas Fee for each transaction that occurs via the Data Portal and transacting via the Data Portal will require an accordingly funded wallet. @@ -111,13 +109,13 @@ Capitalised terms shall have the meaning given to them in this Agreement; and: ## 5. Suspension -**5.1** deltaDAO may suspend all or parts of the Customer's or any third party's right to access or use any component or all of the Data Portal immediately with no prior notice to the Customer if deltaDAO determines that the Customer or a third party’s use of the Data Portal: +**5.1** UdL may suspend all or parts of the Customer's or any third party's right to access or use any component or all of the Data Portal immediately with no prior notice to the Customer if UdL determines that the Customer or a third party’s use of the Data Portal: **_5.1.1_** poses a security risk to the Data Portal or any other third party; -**_5.1.2_** could adversely impact deltaDAO`s systems, the Data Portal or the systems or content of any other deltaDAO user; +**_5.1.2_** could adversely impact UdL`s systems, the Data Portal or the systems or content of any other UdL user; -**_5.1.3_** could subject deltaDAO, deltaDAO`s affiliates, or any third party to liability, and/or +**_5.1.3_** could subject UdL, UdL`s affiliates, or any third party to liability, and/or **_5.1.4_** could be fraudulent; @@ -125,7 +123,7 @@ Capitalised terms shall have the meaning given to them in this Agreement; and: **_5.1.6_** Customer has ceased to operate in the ordinary course, made an assignment for the benefit of creditors or similar disposition of Customer assets, or become the subject of any bankruptcy, reorganization, liquidation, dissolution or similar proceeding. -**5.2** If deltaDAO, according to Section 5.1, suspends Customer’s right to access or use any component or all of the Data Portal: +**5.2** If UdL, according to Section 5.1, suspends Customer’s right to access or use any component or all of the Data Portal: **_5.2.1_** the Customer remains responsible for all fees and charges the Customer incurs during the period of suspension; and @@ -137,15 +135,15 @@ Service Offerings are subject to Service Lifecycle Management. Service Offerings ## 7. Security and Data Protection -**7.1** Without limiting the Customer’s obligations under Section 3.2, deltaDAO will implement reasonable and appropriate measures regarding the Access Controller to help the Customer secure published Data against accidental or unlawful loss, access or disclosure. +**7.1** Without limiting the Customer’s obligations under Section 3.2, UdL will implement reasonable and appropriate measures regarding the Access Controller to help the Customer secure published Data against accidental or unlawful loss, access or disclosure. -**7.2** Data is always stored off-chain. deltaDAO has no control over this Data. Ensuring the confidentiality, integrity and availability of the Data is in the sole responsibility of the Customer. Only metadata relating to Data is stored on-chain. To provide for the functionality of the Data Portal deltaDAO saves on-chain Data in a custom database. **Metadata and Service Offerings must not contain Personal Data**. +**7.2** Data is always stored off-chain. UdL has no control over this Data. Ensuring the confidentiality, integrity and availability of the Data is in the sole responsibility of the Customer. Only metadata relating to Data is stored on-chain. To provide for the functionality of the Data Portal UdL saves on-chain Data in a custom database. **Metadata and Service Offerings must not contain Personal Data**. **7.3** Transactions that take place via the Data Portal are managed and confirmed via the respective EVM Compatible Blockchain. The **Customer’s public key on such EVM Compatible Blockchain is publicly visible** whenever the Customer engages in a transaction on the Data Portal. -**7.4** deltaDAO neither owns nor controls the EVM Compatible Blockchains, any Customer's Web3 wallets, nor other tools, or any other third parties’ site, product, or service that the Customer might access, visit, or use when interacting via the Data Portal. deltaDAO will not be liable for the acts or omissions of any such third parties, nor will deltaDAO be liable for any damage that the Customer may suffer as a result of transactions or any other interaction with any such third parties. +**7.4** UdL neither owns nor controls the EVM Compatible Blockchains, any Customer's Web3 wallets, nor other tools, or any other third parties’ site, product, or service that the Customer might access, visit, or use when interacting via the Data Portal. UdL will not be liable for the acts or omissions of any such third parties, nor will UdL be liable for any damage that the Customer may suffer as a result of transactions or any other interaction with any such third parties. -**7.5** The security of the Customer's data is important to deltaDAO, but the Customer is aware that no method of transmission over the Internet, or method of electronic storage is 100% secure. While deltaDAO strives to use commercially acceptable means to protect the Customer's Personal Data, deltaDAO cannot guarantee its absolute security. +**7.5** The security of the Customer's data is important to UdL, but the Customer is aware that no method of transmission over the Internet, or method of electronic storage is 100% secure. While UdL strives to use commercially acceptable means to protect the Customer's Personal Data, UdL cannot guarantee its absolute security. ## 8. Term and Termination @@ -153,33 +151,33 @@ Service Offerings are subject to Service Lifecycle Management. Service Offerings **8.2** This Agreement can be terminated by either party upon one months' notice to the end of any month. -**8.3** Each party shall have the right to terminate this Agreement for good cause without the need to adhere to a notice period. Good cause for deltaDAO shall, in particular, include the following: (a) breach of essential obligations of the Agreement by the Customer (b) tortious acts by a Customer or the attempt of any such act, e.g. fraud; circumstances pursuant to section 5.1 relating to the Customer. +**8.3** Each party shall have the right to terminate this Agreement for good cause without the need to adhere to a notice period. Good cause for UdL shall, in particular, include the following: (a) breach of essential obligations of the Agreement by the Customer (b) tortious acts by a Customer or the attempt of any such act, e.g. fraud; circumstances pursuant to section 5.1 relating to the Customer. **8.4** All notices of termination must be given in writing. Termination notice by e-mail is deemed to comport with the written form requirement. -**8.5** In case of termination, the access to the Data Portal, including the ability to publish, consume, or access consumed Service Offerings on the Data Portal, will be suspended. deltaDAO will not be liable to you or to any third party for any such suspension. The Customer will not receive any refunds. +**8.5** In case of termination, the access to the Data Portal, including the ability to publish, consume, or access consumed Service Offerings on the Data Portal, will be suspended. UdL will not be liable to you or to any third party for any such suspension. The Customer will not receive any refunds. ## 9. Intellectual Property Rights -**9.1** Except as provided in this Section 9, deltaDAO obtains no rights whatsoever under this Agreement from the Customer (or Customer’s licensors) regarding published Data. +**9.1** Except as provided in this Section 9, UdL obtains no rights whatsoever under this Agreement from the Customer (or Customer’s licensors) regarding published Data. -**9.2** Data will be utilized at the sole discretion of the Customer. Therefore, the Customer represents and warrants to deltaDAO that +**9.2** Data will be utilized at the sole discretion of the Customer. Therefore, the Customer represents and warrants to UdL that **_9.2.1_** the Customer or Customer’s licensors own all rights, in particular copyrights, trademark rights, patent rights, utility model rights, design rights, title, and interest in and of the published Data and **_9.2.2_** the Customer will not provide any content that is illegal or infringes third party rights, in particular any copyrights or trademark rights, patent rights, utility model rights and design rights of third parties. -**9.3** deltaDAO grants the Customer a limited, revocable, non-exclusive, non-sublicensable, non-transferable license to use the Data Portal solely in accordance with this Agreement. +**9.3** UdL grants the Customer a limited, revocable, non-exclusive, non-sublicensable, non-transferable license to use the Data Portal solely in accordance with this Agreement. -**9.4** Except as provided in Section 9.3, the Customer obtains no rights under this Agreement from deltaDAO, deltaDAO’s affiliates or deltaDAO’s licensors to the Data Portal, including any related intellectual property rights. +**9.4** Except as provided in Section 9.3, the Customer obtains no rights under this Agreement from UdL, UdL’s affiliates or UdL’s licensors to the Data Portal, including any related intellectual property rights. -**9.5** deltaDAO or Third-Party Content may be provided to the Customer under a separate agreement and/or a separate license. In the event of a conflict between this Agreement and any separate agreement and/or separate license, the separate agreement and/or separate license will prevail with respect to the deltaDAO Content or Third-Party Content that is the subject of such separate agreement and/or separate license. +**9.5** UdL or Third-Party Content may be provided to the Customer under a separate agreement and/or a separate license. In the event of a conflict between this Agreement and any separate agreement and/or separate license, the separate agreement and/or separate license will prevail with respect to the UdL Content or Third-Party Content that is the subject of such separate agreement and/or separate license. ## 10. Performance Quality and Warranties **10.1** The Data Portal and all Services are provided in the manner accessible to the Customer. The Data Portal and all Services may be unavailable at any time as it is a test environment. A shortfall of the Data Portal and all Services can be long-term or permanent. -**10.2** Except to the extent prohibited by law, or to the extent any statutory rights apply that cannot be excluded, limited or waived, deltaDAO its affiliates and licensors: +**10.2** Except to the extent prohibited by law, or to the extent any statutory rights apply that cannot be excluded, limited or waived, UdL its affiliates and licensors: **_10.2.1_** make no representations or warranties of any kind, whether express, implied, statutory or otherwise regarding the Services or the Third-Party Content, and @@ -187,46 +185,46 @@ Service Offerings are subject to Service Lifecycle Management. Service Offerings ## 11. Liability -**11.1** deltaDAO shall bear unlimited liability for intentional acts and gross negligence but shall only bear liability in cases of slight negligence where it has breached obligations which are material to the Agreement. As material obligations are considered obligations, the fulfilment of which makes the proper execution of the Agreement possible, the violation of which endangers the achievement of the purpose of the Agreement and the compliance with which the Customer may regularly rely on (so-called "cardinal obligations"). In the cases of breach of any such material obligations deltaDAO shall only be liable for the foreseeable damage typical for the Agreement. The above exclusions of liability shall not apply in the event of injury to life, limb, and health. +**11.1** UdL shall bear unlimited liability for intentional acts and gross negligence but shall only bear liability in cases of slight negligence where it has breached obligations which are material to the Agreement. As material obligations are considered obligations, the fulfilment of which makes the proper execution of the Agreement possible, the violation of which endangers the achievement of the purpose of the Agreement and the compliance with which the Customer may regularly rely on (so-called "cardinal obligations"). In the cases of breach of any such material obligations UdL shall only be liable for the foreseeable damage typical for the Agreement. The above exclusions of liability shall not apply in the event of injury to life, limb, and health. -**11.2** deltaDAO assumes no liability for any faults or disruptions within the Data Portal for which it is not responsible. +**11.2** UdL assumes no liability for any faults or disruptions within the Data Portal for which it is not responsible. -**11.3** deltaDAO assumes no liability for losses of Data or Service Offerings where such a loss would have been unavoidable. +**11.3** UdL assumes no liability for losses of Data or Service Offerings where such a loss would have been unavoidable. -**11.4** deltaDAO assumes no liability for any legal consequences arising from the Publication or Consumption of Service Offerings on the Data Portal. This applies in particular to any claims made by third parties due to legal or factual errors regarding the Data underlying such Service Offerings. This also applies to claims by third parties regarding Service Offerings in the Lifecycle States of "end-of-live", "deprecated", “revoked”, “disabled”, and “unlisted”. +**11.4** UdL assumes no liability for any legal consequences arising from the Publication or Consumption of Service Offerings on the Data Portal. This applies in particular to any claims made by third parties due to legal or factual errors regarding the Data underlying such Service Offerings. This also applies to claims by third parties regarding Service Offerings in the Lifecycle States of "end-of-live", "deprecated", “revoked”, “disabled”, and “unlisted”. -**11.5** deltaDAO’s liability does not extend to any impairments or damages resulting from the Customer’s improper or incorrect use of the Data Portal. +**11.5** UdL’s liability does not extend to any impairments or damages resulting from the Customer’s improper or incorrect use of the Data Portal. -**11.6** The above limitations on liability shall apply mutatis mutandis in favor of deltaDAO’s vicarious agents, as well. +**11.6** The above limitations on liability shall apply mutatis mutandis in favor of UdL’s vicarious agents, as well. -**11.7** To the extent that Customers may be redirected to databases, websites, services etc. of third parties via the Data Portal deltaDAO shall not be liable either for the accessibility, existence or security of such databases or services or for the contents thereof. +**11.7** To the extent that Customers may be redirected to databases, websites, services etc. of third parties via the Data Portal UdL shall not be liable either for the accessibility, existence or security of such databases or services or for the contents thereof. -**11.8** deltaDAO has no liability to the Customer or to any third party for any claims or damages that may arise as a result of any transactions that the Customer engages in via a Web3 wallet, or using Smart Contracts, or any other transactions that the Customer conducts via EVM Compatible Blockchains. +**11.8** UdL has no liability to the Customer or to any third party for any claims or damages that may arise as a result of any transactions that the Customer engages in via a Web3 wallet, or using Smart Contracts, or any other transactions that the Customer conducts via EVM Compatible Blockchains. ## 12. Modifications -**12.1** Insofar as the functionality of the Data Portal is preserved, deltaDAO may modify, change or discontinue any Service including any policies at any time with no prior notification. Modifications, changes or discontinuation of Services concerning the essential functionality of the Data Portal will be notified to the Customer one month prior to becoming effective. +**12.1** Insofar as the functionality of the Data Portal is preserved, UdL may modify, change or discontinue any Service including any policies at any time with no prior notification. Modifications, changes or discontinuation of Services concerning the essential functionality of the Data Portal will be notified to the Customer one month prior to becoming effective. -**12.2** deltaDAO shall be entitled to amend or modify this Agreement with a reasonable period of notice. deltaDAO shall notify the Customer in writing (e-mail sufficient) of the changes at the latest one month before they take effect. The Customer shall be deemed to have agreed to the notified amendments or modifications if the Customer has not notified deltaDAO in writing (e-mail sufficient) of its rejection by the time the amendments take effect. deltaDAO shall specifically draw the attention of the Customer to this effect of approval in its notification of the amendment or modification of this Agreement. +**12.2** UdL shall be entitled to amend or modify this Agreement with a reasonable period of notice. UdL shall notify the Customer in writing (e-mail sufficient) of the changes at the latest one month before they take effect. The Customer shall be deemed to have agreed to the notified amendments or modifications if the Customer has not notified UdL in writing (e-mail sufficient) of its rejection by the time the amendments take effect. UdL shall specifically draw the attention of the Customer to this effect of approval in its notification of the amendment or modification of this Agreement. ## 13. Miscellaneous -**13.1** All notices and announcements by deltaDAO concerning the Services will be published via the Data Portal. +**13.1** All notices and announcements by UdL concerning the Services will be published via the Data Portal. **13.2** The Customer is not entitled to offset, unless counterclaims are legally established or undisputed. -**13.3** The Customer may transfer the rights and obligations arising from the Agreement to a third party only with the prior written consent of deltaDAO. deltaDAO shall refuse such consent only for good cause. The Customer shall inform deltaDAO immediately if it intends to transfer rights and obligations under the Agreement with deltaDAO. +**13.3** The Customer may transfer the rights and obligations arising from the Agreement to a third party only with the prior written consent of UdL. UdL shall refuse such consent only for good cause. The Customer shall inform UdL immediately if it intends to transfer rights and obligations under the Agreement with UdL. -**13.4** This Agreement (including references) contains the entirety of the terms and conditions applicable between the Customer and deltaDAO with respect to the Service. There are no verbal side agreements. +**13.4** This Agreement (including references) contains the entirety of the terms and conditions applicable between the Customer and UdL with respect to the Service. There are no verbal side agreements. -**13.5** Terms and conditions or other deviating conditions of the Customer shall only apply if deltaDAO has expressly accepted them in writing. The validity of individual conditions or clauses of the Customer that deviate from or supplement this Agreement shall be excluded even if deltaDAO has not objected to them. +**13.5** Terms and conditions or other deviating conditions of the Customer shall only apply if UdL has expressly accepted them in writing. The validity of individual conditions or clauses of the Customer that deviate from or supplement this Agreement shall be excluded even if UdL has not objected to them. -**13.6** Should any of the provisions of this Agreement be or become invalid or unenforceable in whole or in part, the validity or the enforceability of the remaining provisions shall not in any way be affected or impaired thereby. In this case, the invalid or unenforceable provision shall be replaced by a provision, which, to the extent legally possible, provides for an interpretation in keeping with the meaning and the economic purposes of this Agreement at the time of the conclusion of the Agreement between the Customer and the deltaDAO. Under circumstances in which this Agreement proves to be incomplete, a supplementary interpretation in accordance with the meaning and the purposes of this Agreement under due considerations of the legitimate interest of the Parties involved shall be applied. +**13.6** Should any of the provisions of this Agreement be or become invalid or unenforceable in whole or in part, the validity or the enforceability of the remaining provisions shall not in any way be affected or impaired thereby. In this case, the invalid or unenforceable provision shall be replaced by a provision, which, to the extent legally possible, provides for an interpretation in keeping with the meaning and the economic purposes of this Agreement at the time of the conclusion of the Agreement between the Customer and the UdL. Under circumstances in which this Agreement proves to be incomplete, a supplementary interpretation in accordance with the meaning and the purposes of this Agreement under due considerations of the legitimate interest of the Parties involved shall be applied. -**13.7** Unless otherwise stated in this Agreement, it is sufficient to comply with the written form also by using text form according to sec. 126b German Civil Code, e.g., e-mail. +**13.7** Unless otherwise stated in this Agreement, it is sufficient to comply with the written form also by using text form, e.g., e-mail. -**13.8** The authentic language of this Agreement is English. The English language shall prevail unless a German language term is added to an English language term then such German term shall be decisive throughout. In case of ambiguity or vagueness of a legal or non-legal term, the term shall be construed in light of German statutory law and in such a way that it corresponds to the German equivalent. +**13.8** The authentic language of this Agreement is English. The English language shall prevail unless a Spanish language term is added to an English language term then such Spanish term shall be decisive throughout. In case of ambiguity or vagueness of a legal or non-legal term, the term shall be construed in light of Spanish statutory law and in such a way that it corresponds to the Spanish equivalent. -**13.9** This Agreement shall be governed by the laws of the Federal Republic of Germany. The application of the uniform UN Convention on Contracts for the International Sale of Goods (CISG) shall be excluded. +**13.9** This Agreement shall be governed by the laws of Spain. The application of the uniform UN Convention on Contracts for the International Sale of Goods (CISG) shall be excluded. -**13.10** Exclusive - also international - place of jurisdiction for all disputes arising from or in connection with the Agreement shall be the registered office of deltaDAO. The above shall not apply if another - legally mandatory - exclusive jurisdiction exists. +**13.10** Exclusive - also international - place of jurisdiction for all disputes arising from or in connection with the Agreement shall be the registered office of UdL. The above shall not apply if another - legally mandatory - exclusive jurisdiction exists. diff --git a/content/site.json b/content/site.json index 72e1d8ce..6880f291 100644 --- a/content/site.json +++ b/content/site.json @@ -1,9 +1,9 @@ { - "siteTitle": "Pontus-X Ecosystem - powered by Gaia-X", - "siteTagline": "Streamlined interoperability across digital service ecosystems.", - "siteUrl": "https://portal.pontus-x.eu", + "siteTitle": "AgrospAI", + "siteTagline": "Agri-food Data Space Demonstrator for Sovereign Data-Sharing and Artificial Intelligence Services", + "siteUrl": "https://agrospai.udl.cat", "siteImage": "/share.png", - "copyright": "All Rights Reserved. Powered by [Gaia-X](https://gaia-x.eu/), [Oasis](https://oasisprotocol.org/) and [Ocean Enterprise](https://www.oceanenterprise.io/). Built by [deltaDAO](https://delta-dao.com).", + "copyright": "All Rights Reserved. Powered by [Gaia-X](https://gaia-x.eu/), [Oasis](https://oasisprotocol.org/) and [Ocean Enterprise](https://www.oceanenterprise.io/). Built by [deltaDAO](https://delta-dao.com) and [Universitat de Lleida](https://www.udl.cat).", "menu": [ { "name": "Catalogue", @@ -110,10 +110,10 @@ "isLive": true }, { - "name": "AgrospAI", - "link": "https://agrospai.udl.cat/", - "description": "Agri-food Data Space Demonstrator for Sovereign Data-Sharing and Artificial Intelligence Services.", - "image": "agrospai-logo.webp", + "name": "Agrifood TEF", + "link": "http://dataspace.agrifoodtef.eu/", + "description": "The European Testing and Experimentation Facilities for Agrifood Innovation.", + "image": "agrifoodTEF.webp", "category": "agriculture", "isLive": true }, @@ -161,14 +161,14 @@ ] } ], - "announcement": "The Pontus-X Devnet is currently undergoing a scheduled load test. The network remains stable and fully operational during this period.", + "announcement": "", "devPreviewAnnouncement": "You are visiting the SITE-TITLE-PLACEHOLDER Developer Preview. Please note that some functionalities are in beta and may not work as expected. Visit the [SITE-TITLE-PLACEHOLDER portal](SITE-LINK-PLACEHOLDER) instead.", "warning": { "ctd": "Please note that Compute-to-Data is still in alpha phase." }, "footer": { "subtitle": "Transforming Data Act Compliance into Scalable Monetization Opportunities", - "copyright": "Built by [deltaDAO](https://delta-dao.com)", + "copyright": "Developed by [Universitat de Lleida](https://www.udl.cat) and powered by [deltaDAO](https://delta-dao.com)", "privacyTitle": "Legal", "content": [ { diff --git a/networksMetadata.config.js b/networksMetadata.config.js index 6443f932..eb2f94f1 100644 --- a/networksMetadata.config.js +++ b/networksMetadata.config.js @@ -19,7 +19,7 @@ const networksMetadata = [ explorers: [ { name: 'Pontus-X Devnet Explorer', - url: 'https://explorer.pontus-x.eu/devnet/pontusx', + url: 'https://explorer.pontus-x.eu/pontusx/dev', standard: '' } ] @@ -41,7 +41,7 @@ const networksMetadata = [ explorers: [ { name: 'Pontus-X Testnet Explorer', - url: 'https://explorer.pontus-x.eu/testnet/pontusx', + url: 'https://explorer.pontus-x.eu/pontusx/test', standard: '' } ] diff --git a/next.config.js b/next.config.js index 30c173b1..612a99d5 100644 --- a/next.config.js +++ b/next.config.js @@ -3,6 +3,7 @@ module.exports = (phase, { defaultConfig }) => { * @type {import('next').NextConfig} */ const nextConfig = { + output: 'standalone', webpack: (config, options) => { config.module.rules.push( { diff --git a/package.json b/package.json index 65760223..f6f9f13f 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,8 @@ "build": "npm run pregenerate && next build", "build:static": "npm run build && next export", "serve": "serve -s public/", - "pregenerate": "bash scripts/pregenerate.sh", - "set-barge-env": "bash scripts/barge-env.sh", + "pregenerate": "sh scripts/pregenerate.sh", + "set-barge-env": "sh scripts/barge-env.sh", "test": "npm run pregenerate && npm run lint && npm run type-check && npm run jest", "jest": "jest -c .jest/jest.config.js", "jest:watch": "jest -c .jest/jest.config.js --watch", diff --git a/public/favicon.ico b/public/favicon.ico index 93e8ba123b043487ba67a9568fb1700cd34cfded..039468a27b461a233ad8130b5cf619a95c0d84ff 100644 GIT binary patch literal 1438 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 - - - - - - - - - - - - - + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/@context/UserPreferences.tsx b/src/@context/UserPreferences.tsx index d5d87ace..99d7814a 100644 --- a/src/@context/UserPreferences.tsx +++ b/src/@context/UserPreferences.tsx @@ -97,7 +97,7 @@ function UserPreferencesProvider({ const [showOnboardingModule, setShowOnboardingModule] = useState( localStorage?.showOnboardingModule === undefined - ? false + ? true : localStorage?.showOnboardingModule ) diff --git a/src/@images/agrospai_logo.svg b/src/@images/agrospai_logo.svg new file mode 100644 index 00000000..29d6cff0 --- /dev/null +++ b/src/@images/agrospai_logo.svg @@ -0,0 +1,1591 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/@images/agrospai_logo_horizontal.svg b/src/@images/agrospai_logo_horizontal.svg new file mode 100644 index 00000000..65bc41bf --- /dev/null +++ b/src/@images/agrospai_logo_horizontal.svg @@ -0,0 +1,1591 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/@images/funding-angliru.svg b/src/@images/funding-angliru.svg new file mode 100644 index 00000000..2ee274ec --- /dev/null +++ b/src/@images/funding-angliru.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/@images/funding.svg b/src/@images/funding.svg new file mode 100644 index 00000000..43478e15 --- /dev/null +++ b/src/@images/funding.svg @@ -0,0 +1,5163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +NextGenerationEU diff --git a/src/@utils/aquarius/index.ts b/src/@utils/aquarius/index.ts index 6cc0858b..3fccc936 100644 --- a/src/@utils/aquarius/index.ts +++ b/src/@utils/aquarius/index.ts @@ -140,6 +140,7 @@ export function generateBaseQuery( ...(baseQueryParams.chainIds ? [getFilterTerm('chainId', baseQueryParams.chainIds)] : []), + getFilterTerm('metadata.tags.keyword', ['agrospai', 'udl']), getFilterTerm( '_index', getIndexForChainIds(baseQueryParams.chainIds) diff --git a/src/components/@shared/Onboarding/Header.tsx b/src/components/@shared/Onboarding/Header.tsx index bf008fb8..14a03954 100644 --- a/src/components/@shared/Onboarding/Header.tsx +++ b/src/components/@shared/Onboarding/Header.tsx @@ -4,6 +4,8 @@ import content from '../../../../content/onboarding/index.json' import Container from '../atoms/Container' import Markdown from '../Markdown' import LightBulb from '@images/lightBulb.svg' +import Button from '@shared/atoms/Button' +import { useUserPreferences } from '@context/UserPreferences' interface OnboardingHeaderData { title: string @@ -13,6 +15,7 @@ interface OnboardingHeaderData { export default function Header(): ReactElement { const { title, subtitle, body }: OnboardingHeaderData = content + const { showOnboardingModule, setShowOnboardingModule } = useUserPreferences() return ( @@ -22,6 +25,12 @@ export default function Header(): ReactElement { + ) } diff --git a/src/components/@shared/Onboarding/Steps/Ready.module.css b/src/components/@shared/Onboarding/Steps/Ready.module.css index 2009c566..665b5afe 100644 --- a/src/components/@shared/Onboarding/Steps/Ready.module.css +++ b/src/components/@shared/Onboarding/Steps/Ready.module.css @@ -21,7 +21,7 @@ .image { object-fit: contain; - width: 100%; + width: 40%; max-height: 25rem; } diff --git a/src/components/@shared/Onboarding/Steps/Ready.tsx b/src/components/@shared/Onboarding/Steps/Ready.tsx index 84fa2ec5..2fa38a3c 100644 --- a/src/components/@shared/Onboarding/Steps/Ready.tsx +++ b/src/components/@shared/Onboarding/Steps/Ready.tsx @@ -2,6 +2,8 @@ import { ReactElement } from 'react' import styles from './Ready.module.css' import content from '../../../../../content/onboarding/steps/ready.json' import SuccessConfetti from '@components/@shared/SuccessConfetti' +import Button from '@shared/atoms/Button' +import { useUserPreferences } from '@context/UserPreferences' interface ReadyStep { title: string @@ -11,14 +13,26 @@ interface ReadyStep { export default function Ready(): ReactElement { const { title, body, image }: ReadyStep = content + const { showOnboardingModule, setShowOnboardingModule } = useUserPreferences() return (
-

{title}

+
{title}
+ +

+ You can show again this onboarding tutorial using the configuration menu + in the upper-right corner. +

) } diff --git a/src/components/@shared/Page/PageHeader.module.css b/src/components/@shared/Page/PageHeader.module.css index 187c79cd..087246e9 100644 --- a/src/components/@shared/Page/PageHeader.module.css +++ b/src/components/@shared/Page/PageHeader.module.css @@ -32,7 +32,7 @@ } .homeTitleContainer .subtitle p { - margin: calc(var(--spacer) / 4) 0; + margin: 0; font-size: var(--font-size-h3); } diff --git a/src/components/@shared/Page/PageHeader.tsx b/src/components/@shared/Page/PageHeader.tsx index 3482528d..3ee2301b 100644 --- a/src/components/@shared/Page/PageHeader.tsx +++ b/src/components/@shared/Page/PageHeader.tsx @@ -1,5 +1,4 @@ import SearchBar from '@components/Header/SearchBar' -import BrandLogo from '@images/pontusx_logo_horizontal.svg' import GaiaXLogo from '@images/gaia-x-logo.svg' import Markdown from '@shared/Markdown' import classNames from 'classnames/bind' @@ -31,7 +30,6 @@ export default function PageHeader({
{isHome ? (
- {description && ( )} diff --git a/src/components/@shared/atoms/Logo/index.module.css b/src/components/@shared/atoms/Logo/index.module.css index 2f46f739..590cf06e 100644 --- a/src/components/@shared/atoms/Logo/index.module.css +++ b/src/components/@shared/atoms/Logo/index.module.css @@ -2,14 +2,21 @@ display: none; } .logoSmall { + position: absolute; + top: 0; display: block; width: var(--menu-logo-size-width-sm); height: var(--menu-logo-size-height-sm); margin: 0; } +.logoWrappper { + position: relative; +} -@media screen and (min-width: 55rem) { +@media screen and (min-width: 68rem) { .logo { + position: absolute; + top: 16px; display: block; width: var(--menu-logo-size-width-lg); height: var(--menu-logo-size-height-lg); diff --git a/src/components/@shared/atoms/Logo/index.tsx b/src/components/@shared/atoms/Logo/index.tsx index 51b8d279..7b0547a0 100644 --- a/src/components/@shared/atoms/Logo/index.tsx +++ b/src/components/@shared/atoms/Logo/index.tsx @@ -1,6 +1,6 @@ import { ReactElement } from 'react' -import LogoAsset from '@images/pontusx_logo_horizontal.svg' -import LogoAssetSmall from '@images/pontusx_logo.svg' +import LogoAsset from '@images/agrospai_logo_horizontal.svg' +import LogoAssetSmall from '@images/agrospai_logo.svg' import styles from './index.module.css' export default function Logo(): ReactElement { diff --git a/src/components/Asset/AssetActions/ConsumerParameters/FormConsumerParameters.tsx b/src/components/Asset/AssetActions/ConsumerParameters/FormConsumerParameters.tsx index 1d529854..efa445e1 100644 --- a/src/components/Asset/AssetActions/ConsumerParameters/FormConsumerParameters.tsx +++ b/src/components/Asset/AssetActions/ConsumerParameters/FormConsumerParameters.tsx @@ -44,7 +44,12 @@ export default function FormConsumerParameters({ parameter.type === 'boolean' ? ['true', 'false'] : parameter.type === 'select' - ? JSON.parse(parameter.options)?.map((option) => Object.keys(option)[0]) + ? JSON.parse(parameter.options)?.map((option) => { + return { + value: Object.keys(option)[0], + label: Object.values(option)[0] + } + }) : [] // add empty option, if parameter is optional diff --git a/src/components/Footer/Footer.module.css b/src/components/Footer/Footer.module.css index 1e761895..b5d25954 100644 --- a/src/components/Footer/Footer.module.css +++ b/src/components/Footer/Footer.module.css @@ -18,10 +18,14 @@ } .siteTitle { - text-align: left; + text-align: center; margin-bottom: 0; } +.siteTitle a { + color: var(--footer-font-color-highlight); +} + .main { margin-top: auto; position: relative; @@ -31,9 +35,15 @@ } .main svg { + width: 40rem; + height: 4rem !important; + margin-left: -0.7rem; + margin-top: auto; +} + +.main img { width: 15rem; height: 6rem !important; - margin-left: -0.7rem; margin-top: auto; } diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx index 0a1218c8..7bdde522 100644 --- a/src/components/Footer/Footer.tsx +++ b/src/components/Footer/Footer.tsx @@ -3,7 +3,8 @@ import styles from './Footer.module.css' import Markdown from '@shared/Markdown' import Links from './Links' import { useMarketMetadata } from '@context/MarketMetadata' -import DeltaDaoLogo from '@images/deltaDAO_Logo_small_RGB_white.svg' +import FundingLogo from '@images/funding.svg' +import FundingLogoAngliru from '@images/funding-angliru.svg' import Container from '@components/@shared/atoms/Container' export default function Footer(): ReactElement { @@ -15,17 +16,29 @@ export default function Footer(): ReactElement {