Skip to content

Gateway + DID + Signup + Single Quest Dungeon #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 145 commits into
base: develop
Choose a base branch
from

Conversation

uklok-owner
Copy link
Collaborator

@uklok-owner uklok-owner commented Jun 3, 2024

Description

  • Decentralized Identities (DIDs) for secure user registration.
  • A Gateway solution for seamless connection to off-chain platforms.
  • A single-player "quest" experience with an AI game master.
  • Cross-Chain Interoperability Protocol (CCIP) for NFT character data.
  • Chainlink functions for on-demand backstory and dungeon generation.
  • Verifiable Random Function (VRF) for random dice rolling and result submission.
  • This ensures a secure, seamless, and immersive experience for users.

Additional Information

  • Toolset for easily include functions in the gateway.
  • Simulator to locally debug functions (on-chain endpoints).
  • CMS for content management.
  • DB for users.
  • Queue for managed DID certifications generation.

Your ENS/address: uklok.eth

tippi-fifestarr and others added 30 commits May 10, 2024 11:57
- All the scaffold frontend structure was moved into a `/console` path in order to have full control of the rest.
- All founded `href` were properly updated and tested.
- `builder.io` was configured in the project and is now fully integrated to allow anyone control site's content.
- Some components were registered to be used, but are more for testing for now.
- Vercel Analytics & SpeedInsights were activated.
- A set of helper interfaces & types were defined.
- The hardhat config was modified to use the `ChainlinkUserConfig` Type.
- `tsconfig-paths` lib was installed and configured.
- Chainlink contracts were installed.
- Compiler version updated to fill chainlink contracts requirements.
- Gateway and GatewayClient interfaces were defined.
- Example contracts and deploy scripts were removed.
- The CCGateway was implemented.
- Some errors were mapped.
- A helper function to get the current network config as a `ChainLinkNetworkUserConfig` type was created.
- The deploy Gateway script was configured.
- An Simple GatewayClient contract was created so anyone could easily use the gateway.
- The deploy script for the ExampleClient was created.
- A final deploy script to grant all clients access to the gateway was created.
- A toolkit for easily manage available functions in the gateway was created.
- The LINK tasks were registered as part of the hardhat env.
- A simple task for reading the balance of the deployer account was created.
- A set of helper functions for LINK token were created.
- A set of helper functions to manage the subscriptions were created.
- A helper function to automatically upsert the provided scripts in the gateway as requests was created.
- It should receive only new scripts and those who needs any update.
- minor changes in the deployment scripts to streamline the gateway contract name.
- The gateway will be the consumer for each created subscription.
- A new task was registered to use the entire set of tools previously created.
- The task will load all the scripts (ie. functions) that needs to be upserted in the gateway, create or fund the subscriptions for each, and finally register the function as a request in the gateway to be used by clients.
- Each step of the task uses the current network.
- The outcome is a `link_functions_map.json` file that contains the results of these operations and could be used to feed/seed the clients contracts.
- `@chainlink/functions-toolkit` is still using ethers@v5 which have several incompatibilities with the current project ethers@v6.
- To resolve this problem, a workaround to generate a `Signer` using ethers@v5 using the current scope was created.
- internal `@chainlink/functions-toolkit` ethers lib was mapped as `ethers@v5` to be accessible whenever it's needed.
- Some npm scripts were added to easily access the new hardhat chainlink defined tasks.
- Minor change to revert transaction if the subscription id is missed.
- A more accurate name was assigned to the task.
- Minor changes to accept an arbitrary address to fetch balances of.
- Native network token balance included.
uklok-owner and others added 13 commits June 2, 2024 18:02
- The backstory script was fixed to only return 256 chars TOP.
- The new `alt_text` for art endpoint was included.
- The secrets for both were configured.
- The `OPENAI_API_KEY` ENV var was registered in the example.
- A simulator task for the oracle functions call was created to easily test defined functions.
- The tasks needs the name of the request filename and the args to pass.
- If loads the secrets and injects everything to properly test the scripts.
- All the secrets are being updated at once.
- All contracts were deployed on all the target networks.
- All the functions & subscriptions were created and configured so the gateway can use them.
- All the secrets were updated and injected in the gateway.
@uklok-owner uklok-owner added the enhancement New feature or request label Jun 3, 2024
Copy link

vercel bot commented Jun 3, 2024

@uklok-owner is attempting to deploy a commit to the BlockMagic Ceptor Club Team on Vercel.

A member of the Team first needs to authorize it.

Copy link

vercel bot commented Jun 3, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
main ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 3, 2024 4:56am

@uklok-owner uklok-owner changed the title Develop Gateway + DID + Signup + Single Quest Dungeon Jun 3, 2024
@uklok-owner uklok-owner requested a review from allanma88 June 3, 2024 15:09
uklok-owner and others added 9 commits June 3, 2024 11:18
- Minor changes for easier code readability.
- Alt Art endpoint also included.
- ExampleClient Restored.
- The deployment scripts were fixed.
- deploy character details client included.
- All clients assigned.
- Minor changes for easier management.
- All the contracts were deployed on `baseSepolia`, `polygonAmoy` and `sepolia`.
- ts updated.
- Native tokens price feed aggregator address included for used networks.
- Interface updated to include data feeds.
- Contracts using data feeds were updated to receive the aggregator address in the constructor.
- Deploy script updated to load the native token aggregator address and set GamesToken address (minter).
- The background was included as an arg in the prompt.
- Clients were moved into a separate folder.
- A registry for made request was created to properly set callbacks replies.
- Latest changes to contracts were deployed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants