completed

GameChanger: smart contract support

$9,000.00 Received
$9,000.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Addresses Challenge
Feasibility
Auditability
Solución

Investigaremos y añadiremos soporte para contratos inteligentes con el objetivo de proporcionar las integraciones DAPP más sencillas posibles para ayudar a los constructores y estudiantes.

Problem:

GameChanger tiene un conector DAPP sin código desde hace meses. Shelley DAPPs son posibles, pero Goguen DeFi era utilizando la misma API JSON es necesario.

Yes Votes:
₳ 111,642,694
No Votes:
₳ 4,112,351
Votes Cast:
676

This proposal was approved and funded by the Cardano Community via Project F7: DApps & Integrations Catalyst funding round.

  • download
  • download
  • download

Detailed Plan

Extended problem statement:

With the current lack of browser PAB implementation, smart-contract ecosystem has to find ways to provide early support. Its not ideal, but is necesary as first steps towards RealFi/DeFi evolution in Cardano.

GameChanger Wallet also has special needs regarding this implementation as our DAPP connector works very differently compared to the current connector trend specified by the CIP-0030. Generally speaking It aims to be a fully featured, JSON based transaction builder API, with webpage to webpage URL redirections as comunication channel because wallet is a webapp and has very different context that the one a browser extension would have. (Another communication channel is planned in the future) This opens up to incredible use cases such as super low entry complexity barreer for DAPP students and builders, hardware integrating the wallet (real use cases already available), and many more.

This require from us a proper research into find ways to adapt current wallet features and workflows with Plutus scripts and eUTXO support, with proper exposure into this JSON API called GCScripts. We will not only be signing externally builded raw transactions, in most cases we need to think differently.

Describe your solution to the problem:

We will begin with a research phase ending up into small proof of concepts to explore the ways into how we can tackle this challenge with our codebase. If we find PAB availability during this phase we can pivot our strategy and start pioneering into it, if not, we expect to be solving this solution by leveraging as most as we can on user customizable parameters and Emurgo's cardano-serialization-lib, the library behind Yoroi wallet and currently the one we are using to unleash our wallet with all the features we currently provide.

Use cases and customers:

  1. Students and builders: To be able to use Playground, our integrated IDE for testing and DAPP connector creation with smart contracts in Cardano, interacting with JSON and ready to use demos can be a game changer for the ecosystem
  2. DeFi: from swaps to advanced Plutus-minted CNFT drops, the entire DeFi ecosystem will benefit from having our SC support available, specially for fast prototyping and launching
  3. RealFi: due to our commitment with developing countries, on lowering knowledge and infrastructure barreers, we want to pay special attention to RealFi use cases. Right now, our wallet is allowing fast and easy creation of URL requests for payments, decentra-minting native assets and IDNFTs, and many other features that can add value to real life businesses.

Extended relevant experience:

Cardano users can already benefit from having a highly humanized and gamified wallet, which is 100% committed to removing the entry barriers for students, entrepreneurs, junior developers and newcomers around the world. It's called GameChanger and our vision is to allow our users to focus on what matters rather than investing time and energy in infrastructure, language complexities and having higher level coding skills.

GameChanger current core features:

  • Light-client, non-custodial, fully responsive progresive web app (PWA) wallet, ready to be used in any device without installing. We know how hard it can be for users in emerging countries to store applications on their phones and even computers when there's not enough space or resources to use the executables.
  • Mainnet and Testnet version available as well, making super easy to play and make tests with, specially for developers and students to test without spending real value. Integrated one-click multi-asset airdrop for getting started.
  • We're the first deeply gamified wallet in the Cardano ecosystem, where your balance becomes like a game inventory and move your assets (as coloured cards) as if they were tangible objects, allowing you to make from the simplest transaction to even a multi-asset, or multi-output transaction with the same intuitive interface. We're truly unleashing Cardano's potential by allowing anybody, even newcomers to interact with the most advanced features of the ecosystem, breaking with more than a decade of inherited UI trends that we think are obsolete.
  • No more manually settings for fees and minimum ADA values, the wallet calculates all this for you. Sending a single token has never been easier, just pick the asset you want to send and the wallet adjusts the rest.
  • Native NFT and tokens support visual representation from day one. Token avatars help you identify same minting policies to quickly discover fake tokens and visually respect NFTs collection similarities. Token registry verification check.
  • Strict audit stage for any transaction sending request, letting the user review their actions prior to sending.
  • Builtin NFT Creator, drag and drop any file type, (not just images) to mint a single NFT or even a professional collection in an automated way. Make NFT drops with the same gamified UI with final review stage.
  • URL-based dApp connector, allowing social networks, blogging sites, landing pages and even emails and e-messaging to carry payment links, donation buttons, metadata, tokens and NFT minting links on Cardano Blockchain. We plan to cover smart contracts and other features soon so please stay tuned. Here is a simple "minter tweet" to try this out:https://twitter.com/GameChangerOk/status/1433861451618426880?s=20
  • Builtin Playground (IDE): dApp connector editor and HTML and URL generator. GameChanger Script editor, a JSON-based dApp connector scheme that already has been successfully coded by non-developers proving that to help developers focus on building, we must simplify our coding languages and tools. Users can start coding these scripts by editing all the demos already integrated in the editor. Implement payments, NFT drops and complex transactions in a couple of minutes ending up with a ready to use auto generated HTML dynamic dApp integration or a static copy-and-paste URL.
  • (e)UTXO model visually exposed, ideally for devs and students to audit and learn how Cardano works. This plus Playground materializes our commitment to students and junior developers.
  • Code based on Emurgo's cardano-serialization-lib, the core of Yoroi Wallet.
  • Private key isolation inside Web Workers, read-only mode, and more.
  • Open source, community driven API backend, using IOHK's cardano-graphql and relying on Dandelion APIs. Because we lack fair infrastructure capabilities and we are a very small team we are working closed source for now looking to reach sustainability first Is relevant to express that our deeply gamified wallet UI will fit perfectly for token based DeFi and DAPPs.

Use cases and customers:

  • Our end users, potencial DeFi/RealFi consumers, and migrating ones coming from other (EVM?) blockchains
  • Builders and students: gamified UI + no-code JSON wallet integration would mean a game changer for onboarding new SC builders. Thanks to Playground, our integrated IDE, GC Wallet is being considered as an easier web cardano-cli alternative.
  • DeFi/RealFi: swaps, dex, escrows, trading, payment dapps, etc..
  • CNFT dapps and SC assisted drops
  • Project Catapult, first full featured Shelley dapp using GameChanger connector and IDNFT support would benefit from SC support. <https://catapult.gamechanger.finance>
  • Power Users trying to reduce fees combining Cardano features into single transactions, also now, consuming SCs

Meet the team:

Adriano Fiorenza is Entrepreneur & Senior Full Stack Developer with 10+ years of experience software and IOT development. Founder and the main Lead Developer behind GameChanger Wallet, and Project Catapult, participated in 1st gen Plutus Pioneer Program and is currently contributing as Core Team member at Gimbalabs

His Linkedin profile can be found at <https://ar.linkedin.com/in/adriano-fiorenza>

Javier Ribó, Technical manager working in the flight industry and for the past years has successfully built and scaled different projects.Also worked for more than 7 years in the Hosting & Cloud industry. Currently going through the "Emurgo Developer course" Batch 52 & contributing to GameChanger Wallet as Senior Developer.

His Linkedin profile can be found at <https://www.linkedin.com/in/index>

Roberto C. Morano is a systems integrator and DevOps advocate with over 15 years of experience. Ex-Emurgo DevOps Lead. Gimbalabs Co-Founder. Dandelion Founder and Operator. GameChanger Wallet advisor.

His Linkedin profile can be found at <https://www.linkedin.com/in/rcmorano/>

Current Status / Technical Information:

Our DAPP supports Shelley era features like multi-asset multi-outputs, minting and metadata. We are working with a codebase relying on an upgradable version of cardano-serialization-lib. Other proposals of ours are trying to switch from a storeless to a spending password model and also aiming to add HW Ledger and Trezor support. During this upcoming refactors, it would be an adecuate moment to research and add SC support as well.

Key features/goals:

This are tentative as research phase and PAB availability could change our plans:

support for user defined serialized Plutus scripts into GCScripts

support for user defined serialized datum field

support for user defined serialized redeemer field

aid on fee calculation or rely user defined parameters to calculate it per DAPP basis

collateral UTXO handling combined with our key derivation plans

special UI support, from eUTXO model details on TransactionViewer to DAPP connector review stage details and user-acceptance flow.

Roadmap:

  • 1st month: Research phase and basic PoC development
  • 2nd month: refactor our current internal API to handle eUTXO and Plutus SCs
  • 3rd month: UI upgrades, first on TransactionViewer and then on Playground and DAPP connector assistant. Testing phase.

Key Performance Indicators for the first 3/6 months (KPIs):

3rd month:

increased number of pioneer users and DAPPs wanting to start integrating with GC

6th month:

increased number of SC DAPP GC wallet users

increased number of SC transactions executed on GC wallet

increased number of identificable SC DAPPs integrating GC

Budget:

- 1 Full-Stack Senior Engineer ($3000 x 3 months = 9000$)

Total: $9000 for a 3 months period.

Related proposals & other projects:

More information in general about all our participation and co-proposals in Catalyst can be found on our website.

<https://gamechanger.finance/catalyst>

We also want to contribute to the overall Catalyst experience and we have created Project Catapult for all the not-funded proposals and helping on Catalyst Community Tools On-Chain!

Reseñas de CAs (1)

Comments

Monthly Reports

Roadmap start date not reached yet but some required codebase between projects is already being worked on

Disbursed to Date
$9,000
Status
Launched
Completion Target
8/1/2022
Comments 0

Login or Register to leave a comment!

Roadmap start date not reached yet as it depends on other proposal's milestones,but many improvements on UX/UI and wallet internals are being actively worked on for the Cardano Totem and HW Support proposals and are going to facilitate this upcoming development as well, wallet importing, re-importing on demand (for example on Dapp Cart), creation, state management and UI design more specifically. This will be released soon. Also some research is being made related to Plutus and Marlowe / Marlowe CLI in order to identify technical requirements and new posible reachs of proposal.

Disbursed to Date
$9,000
Status
Launched
Completion Target
8/1/2022
Comments 0

Login or Register to leave a comment!

An reported previously, an important wallet update has been finally released this month, also involving signing and API upgrades. First SC proof of concepts has been developed, while exploring new SC tooling availability on the community. Also signed up with other team members into Marlowe Pioneers Program in order to evaluate posible DSL integrations.

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
8/1/2022
Attachment(s)
Comments 0

Login or Register to leave a comment!

Full EUTXO locking and Plutus Script execution for spend redeemers is now integrated into the API, A dev-environment integrated dapp has been embedded on the wallet to stress-test internal api and transaction builder code, being able to run 200 Plutus Script executions over different datums on the same transaction (Watch video and reference transactions). Fee calculation is faling for a few lovelaces using cardano-serialization-lib, and not even Ogmios/node failure errors are working properly to determine correct fee amount. Currently troubleshooting this.

https://drive.google.com/file/d/1o8jXzdkacbDXea3qXdYS8Ks0HYJBURY5/view?usp=sharing

https://testnet.cardanoscan.io/transaction/0ba6f339170c5b84e2dbe19e5b693011235df0f492584307d77c11a7c1a450c3

https://testnet.cardanoscan.io/transaction/a6dd849c19289f1adf446544a08ceea4b6fd545ddf0122ac3f6cef7c5f5deaa1

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
8/1/2022
Attachment(s)
Comments 0

Login or Register to leave a comment!

Fee calculation has been solved. Due to Plutus redeemer influence over diverse Cardano native transaction features (not just expending capabilities), this month we had decided to extend our current API to fully cover all this features switching over a new fully featured internal API, and thus we will be delaying the roadmap in order to offer a completely new external dapp connector API to expose all this options. Internal transaction builder API is now complete, covering almost every Cardano feature, and we have start developing the external API and new required UI components like the transaction signer.

We also applied CIP-21 to this new internal tx builder API in order to ease transport development for our HW Support Proposal because of well known HW device limitations.

Our team decided to properly solve this proposals by extending the deadlines and avoid rushing deliveries. We are thankfull for this funding opportunities and we want to offer Cardano Community our best efforts and results at the minimum breaking changes updates as possible, hoping to concentrate all this into a single big release.

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
1. In the next month
Comments 0

Login or Register to leave a comment!

External API library is now complete, supporting not only JSON based scripts but also a parser has been developed to introduce inline macros into the workflows. It now works with lzma compression instead of lzw to reduce even more than half of script size on resulting payload. For offering features to devs, it can be extended with resolvers that will connect with the wallet (internal API) and other possible modules like Dandelion API clients for some data retriaval. It has 3 stages, preprocessor, runtime and postprocesor, and many features to accomodate all known (and unexpected) required use cases from our dev users.

A new DAPP Connector UI is being worked on carefully to try to keep backwards compatibility with API v1, allowing to trigger the execution of scripts in different ways, launching custom UI resolver screens depending on what operation is being executed, allowing the user to review, confirm, cancell and even debug the scripts.

This month the plan is to start creating API resolvers and their UI counterpart to add wallet operations like building and signing transactions, but much more than that.

Then we will need to create a new version of the Playground IDE with examples but for API v2

Also we have been working to finalize the Cardano Totem Stakepool Setup wizzard

We know we are delayed but a successfull testing of complex scripts so far and some close feedback received proves that this new API was needed and only this way we can support smart contracts as we do it with all other Cardano features, at transaction building level, not just signing transaction CBORs. This was the way to go, and we have adapted our plan to really offer what we were seeking to offer to our users.

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
2. In the next 3 months
Comments 0

Login or Register to leave a comment!

As stated on last report, this month we have implemented and exposed almost all important wallet features on the new API. More specifically, and after solving some unexpected obstacles related to the broken testnet and a lot of Vasil breaking changes, the transaction builder API will get fully implemented by the end of this month, so far inputs,outputs,minting, burning, external signatures, native scripts and PLUTUS smart contracts, coin selection for inputs and collaterals, and many other big and small features are FULLY WORKING and exposed on the API. Certificate and Native Script builder API is already available,and this last month week, certificates feature will be integrated on Transaction Builder API. API schema and documentation is autogenerated so we are counting with this being up to date with the latest development efforts as well.

What's next?

Full Vasil support on our internal transaction builder,and it fully exposure of this features on the API. API UI needs to be extended for special APIs like Transaction Signer. Overall UX experience and wallet permissions needs to be adjusted a bit for better usage. API (GCScripting) repository on chain must be implemented in order to unlock a secure usage of the API for end users (this is utterly important to achieve prior release). Playground IDE must be upgraded to work with this APIv2 and registry as well. Wallet store and UI will be updated to better interact with the API, here the work on HW Wallets will merge at low level and at UI level, to present alternative modals for transaction and data signing.

Our closest colleagues at Dandelion, Gimbalabs and ALDEA DAO has been watching live demos of this new API, we are planning on a beta release soon.

We know we are delayed but a successfull testing of complex GCScripts (API calls) so far and some close feedback received proves that this new API was needed and only this way we can support smart contracts as we usually do it with all other Cardano features, at transaction building level, not just signing transaction CBORs. This was the way to go for the success of our wallet, and we have adapted our plan to deliver this completely out of budget.

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
2. In the next 3 months
Comments 0

Login or Register to leave a comment!

According to plan, this month Vasil chain parameters, reference inputs, inlined datums and scripts has been integrated on internal transaction builder and APIv2, there are some final adjustments pending on collaterals and consuming inlined scripts. Focus mainly was on repository creation side, wallet now renders this information properly, helpers has been developed to read this data and helpers will be finished this last week of the month to batch write this data using APIv2. Read helper will be integrated on APIv2 as well. We are even in talks with Dandelion APIs to develop and deploy a microservice to serve this data, data which as a reminder is a key requirement to connect all the parts of this proyect in a proper (transparent and safe) way.

Other month developments: A key feature set: staking through UI, not just on APIv2. Now there is full staking support, a full list of mainnet / testnet pools with search box and info, detecting current stake key registration state and rendering available rewards to allow APIv2 to handle delegations and withdrawals. Also improvements has been made on asset rendering code to handle this new repositories and to differentiate them from the rest, as you may know GC UI is very graphical and almost everything is exposed.

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
2. In the next 3 months
Comments 0

Login or Register to leave a comment!

According to plan, this month has been focused mainly on repository development, improving drastically the scalability and security of it, and the ease of usage for basic operations like read, write, update and parameterized search. This operations has been integrated on APIv2, as well as other related ones that had to be implemented to improve UX and dev experience. With this integration, now dapp connection links and overall API scripting can became shorter, encouraging reusability, transparency and trustfull persistance without 3rd party networks required.

It took more than expected due to fine tunning read write protocol, make indexing more efficient, and improve security. It was a bit complex to design thinking on reduced footprints, scalability and possible future requirements.

Now for this last month of the year it's time to go deep back to the wallet to close some almost-finished features like setup, transaction signing UI, and others.

Once finished on a couple more months, despite the delayed closure, it will be great to see what these Catalyst funds allowed us to build :) Bare with me, we will get there soon.

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
2. In the next 3 months
Comments 0

Login or Register to leave a comment!

As planned, december was time to start wrapping and interconnecting previous achievements.

CIP-8 COSE1 has been implemented on API, as well as encryption / decrypting APIs using password provider plugins for secure sensible input handling.

Remote data and script importing is now enhanced with new protocols and encryption features.

APIv2 syntax and core features has been improved for enhanced security and advanced usage. Memory isolation, arguments, return modes, source code issuer identity validation and more features allows a huge range of new use cases.

Playground, our integrated IDE for developers and power users, was updated to work with APIv2. One of the most requested features from our users has been added: an embedded documentation explorer, based on the autogenerated APIv2 schema. 31 Internal team demo scripts, around 5k lines of JSON code, are now exposed on IDE as usable demos to our users until we develop user specific ones in the future. The APIv2 resolver UI has been embedded into Playground. QR and URL exporter has been adapted to work with the new URL transport encoder.

Wallet settings (setup) are now encrypted, persisted on and loaded from the previous developed registry protocol. Thanks to a new store refactor, settings are now exportable and customizable, this makes the wallet very flexible and allow users and daps to better utilize Cardano's potencial. Settings items and their inter relationships are exposed as colored cards as how we usually handle data on the project. Users can now understand more how wallets work and developers can debug better thanks to these efforts.

All settings consumer APIs has been updated to work with the new store specification, specially transaction and data signer apis. This allows very complex signing scenarios to happend with a very simple and auditable solution.

A lot of other minor features and updates has been done as well. Received Dandelion APIs colaboration to fix some server related issues.

Whats next on Q1 2023: settings related bug fixes and final UI details. New APIs for devs to consume settings. Transaction and data signer UIs. Multisig use cases. Dapp Cart update. Hardware Wallet branch integration and adapting for the new settings store specification. Other pending proposals.

We are in talks with some colaborators to start planning a beta tester program for Q1 2023 to fix bugs and shape the last details of the new release based on early pioneers feedback.

Once finished on a couple more months, despite the delayed closure, it will be great to see what these Catalyst funds allowed us to build :) Bare with me, we will get there soon.

In name of the team and me, Adriano, Happy Hollidays!

Disbursed to Date
$9,000
Status
Still in progress
Completion Target
2. In the next 3 months
Comments 0

Login or Register to leave a comment!

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00