Skip to content

Commit

Permalink
Merge branch 'docs/cat.1100138.3' of https://github.com/GameChangerFi…
Browse files Browse the repository at this point in the history
  • Loading branch information
zxpectre committed Apr 25, 2024
2 parents fc1e680 + e302849 commit f88c0a1
Show file tree
Hide file tree
Showing 93 changed files with 361 additions and 97 deletions.
2 changes: 1 addition & 1 deletion DAPP_CONNECTOR.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
- [How to connect?](https://www.npmjs.com/package/@gamechanger-finance/gc)
- [70+ open source example dapps](examples/README.md)
- [Beta Release Notes](RELEASE.md)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2)
- [Playground IDE in GameChanger Wallet ](https://beta-wallet.gamechanger.finance/playground)
- [Catalyst](/catalyst/CATALYST.md)
- [Youtube Tutorials](https://www.youtube.com/@gamechanger.finance)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 GameChanger Finance
Copyright (c) 2023 GameChanger Finance - Adriano Fiorenza

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

GameChanger is a very powerful, customizable, yet friendly, non custodial web light wallet.

Since 2021 unleashes Cardano's and eUTXO potential while democratizing users, developers and students access.
Since 2021 unleashes Cardano and eUTXO potential while democratizing users, developers and students access.

The smart design principles of the wallet allows you to import or connect these wallet types to it:
- seed phrase
Expand All @@ -22,7 +22,7 @@ The smart design principles of the wallet allows you to import or connect these
## Links

- [Mainnet wallet](https://beta-wallet.gamechanger.finance/)
- [Preproduction Testnet wallet](https://beta-preprod-wallet.gamechanger.finance/)
- [Pre-Production Testnet wallet](https://beta-preprod-wallet.gamechanger.finance/)

## Examples and special use cases:

Expand Down Expand Up @@ -83,7 +83,7 @@ The smart design principles of the wallet allows you to import or connect these
- [Beta Release Notes](RELEASE.md)
- [70+ open source example dapps](examples/README.md)
- [Universal Dapp Connector documentation](DAPP_CONNECTOR.md)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2)
- [Playground IDE in GameChanger Wallet ](https://beta-wallet.gamechanger.finance/playground)
- [Catalyst](catalyst/CATALYST.md)
- [Youtube Tutorials](https://www.youtube.com/@gamechanger.finance)
Expand Down
16 changes: 8 additions & 8 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ This is an early release, hope you enjoy it but use it with caution as things ma

GameChanger is a very powerful, customizable, yet friendly, non custodial web light wallet.

Since 2021 unleashes Cardano's and eUTXO potential while democratizing users, developers and students access.
Since 2021 unleashes Cardano and eUTXO potential while democratizing users, developers and students access.

The smart design principles of the wallet allows you to import or connect these wallet types to it:
- seed phrase
Expand All @@ -33,7 +33,7 @@ The smart design principles of the wallet allows you to import or connect these

## What's new?

Since 2021 empowering users with freedom and low barreer access, after almost 2 years of hard work and almost no funding, this is now in your hands:
Since 2021 empowering users with freedom and low barrier access, after almost 2 years of hard work and almost no funding, this is now in your hands:

- **RealFi Ready**: Responsive Web App
- No installs needed
Expand All @@ -46,7 +46,7 @@ Since 2021 empowering users with freedom and low barreer access, after almost 2
- Links
- QR codes
- JSON scripting
- No external library nor languages dependecies needed for a fully on-chain + off-chain integration
- No external library nor languages dependencies needed for a fully on-chain + off-chain integration
- Secure: we hold the key to provide unmatched security for browser wallets - see **Workspaces**
- Full Cardano Wallets support: Hardware, Browser Extension, QR, and Seed Phrase Wallets supported
- **Multi-account**: Modern, multiple wallet and sub accounts support - for users, dapps and DAOs. see **Workspaces**
Expand All @@ -67,7 +67,7 @@ Since 2021 empowering users with freedom and low barreer access, after almost 2
- **API v2**: GameChanger Wallet packs GCScript DSL code into URLs. This is our dapp connector since 2021.
GCScript now is a feature rich low code JSON based DSL, an entire Cardano library as dapp connector
- complex scripting: extending APIv1 design, long code blocks, code imports, argument passing, preprocessor stage
- enhanced anonymicity: continuing on APIv1 novel design, dapp code interfacing user wallets is processed wallet-side, to avoid disclosing any wallet specific data to dapps
- enhanced anonymity: continuing on APIv1 novel design, dapp code interfacing user wallets is processed wallet-side, to avoid disclosing any wallet specific data to dapps
- perpetual, censorship resistant dapps: the **GameChanger Standard for Dapps**
- schema: modular, extensible API schema
- documentation: auto-generated API documentation
Expand All @@ -77,11 +77,11 @@ Since 2021 empowering users with freedom and low barreer access, after almost 2
- **Open Wallet**: almost all mayor wallet features are now API dapp connections, allowing the user to live audit, clone and customize our code
- **Playground IDE**: Cardano's first developer wallet since 2021, with built in IDE, now totally improved
- new IDE design - new File menu, transport, encoding and priviledge mode selection,
- dapp deployer - autogenerated HTML5 Dapps now can be deployed instantly on IPFS and GCFS
- dapp deployer - auto-generated HTML5 Dapps now can be deployed instantly on IPFS and GCFS
- connection launcher - multi-transport, multi-encoding connection launcher. Social sharing for URLs.
- Doc Explorer
- 30+ code examples
- **Smart Contracts**: Babagge support
- **Smart Contracts**: Babbage support
- Plutus V1/V2 script witnesses on transaction builder
- Helios Smart Contract compiler as API feature, allowing fully on-chain + off-chain code
- **Multi-delegation**: Multiple stake delegation and reward withdrawals, powered by APIv2
Expand Down Expand Up @@ -114,7 +114,7 @@ If you want to join as operator, maintainer or just contribute to this great pro

## API Migration

The new **GameChanger Wallet API v2** is a very powerfull set of functions that have completely surpassed V1 in many ways.
The new **GameChanger Wallet API v2** is a very powerful set of functions that have completely surpassed V1 in many ways.
This is the work of almost 2 years, a cutting edge DSL based API for dapps and advanced users in your hands now.
We will soon deprecate V1. Please learn yourself a bit of **GCScript**, and be prepared to migrate your dapps, DAO or SPOs
operations to take this quantum leap forward with us.
Expand All @@ -123,7 +123,7 @@ operations to take this quantum leap forward with us.

We will try to reply on official public channels but we ask the community to engage and help others whenever they can.

We are a small team, working totally out of funding, masively downvoted on the last Catalyst Funds (like many long standing builders), be kind regarding bugs and services downtimes, collaborate and expect from us the introduction of several revenue channels to ensure sustainability as we want to keep building for you. If you don't agree with Default Staking or any other feature opt to avoid it. If you learn how to use the wallet, you are trully free.
We are a small team, support us on **Project Catalyst** if you can, and be kind regarding bugs and services downtimes, collaborate and expect from us the introduction of some revenue channels to ensure sustainability as we want to keep building for you. If you don't agree with Default Staking or any other feature opt to avoid it. If you learn how to use the wallet, you are truly free.

Wallet developer and his collaborator team has been running live coding sessions every week for almost a year now, don't miss the opportunity to join us while we dedicate time for you!

Expand Down
2 changes: 1 addition & 1 deletion catalyst/CATALYST.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
- [Universal Dapp Connector documentation](/DAPP_CONNECTOR.md)
- [70+ open source example dapps](/examples/README.md)
- [Beta Release Notes](/RELEASE.md)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2)
- [Playground IDE in GameChanger Wallet ](https://beta-wallet.gamechanger.finance/playground)
- [Catalyst](/catalyst/CATALYST.md)
- [Youtube (Tutorials)](https://www.youtube.com/@gamechanger.finance)
Expand Down
2 changes: 1 addition & 1 deletion catalyst/FUND11.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ https://cardano.ideascale.com/c/idea/112473)
- [Universal Dapp Connector documentation](/DAPP_CONNECTOR.md)
- [70+ open source example dapps](/examples/README.md)
- [Beta Release Notes](/RELEASE.md)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)
- [GCScript documentation](https://beta-wallet.gamechanger.finance/doc/api/v2)
- [Playground IDE in GameChanger Wallet ](https://beta-wallet.gamechanger.finance/playground)
- [Catalyst](/catalyst/CATALYST.md)
- [Youtube (Tutorials)](https://www.youtube.com/@gamechanger.finance)
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
- [How to connect?](https://www.npmjs.com/package/@gamechanger-finance/gc)
- [Beta Release Notes](../RELEASE.md)
- [70+ open source example dapps](../examples/README.md)
- [GCScript API documentation](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)
- [GCScript API documentation](https://beta-wallet.gamechanger.finance/doc/api/v2)
- [Playground IDE in GameChanger Wallet ](https://beta-wallet.gamechanger.finance/playground)
- [Catalyst](catalyst/CATALYST.md)
- [Youtube Tutorials](https://www.youtube.com/@gamechanger.finance)
Expand Down
4 changes: 4 additions & 0 deletions docs/gcscript/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,10 @@ The way GCScripts and their JSON results are packed and shared between agents an
}
```

🔍 *See also:*
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html),
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html)

*and the isomorphic results:*
```json
{
Expand Down
6 changes: 6 additions & 0 deletions docs/gcscript/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ No more theory until next section, let's run some GCScript right now!
}
```

🔍 *See also:*
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html),
[getName](https://beta-wallet.gamechanger.finance/doc/api/v2/getName.html),
[getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html),
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html)

- Now execute the code by clicking on the green `Run ▸` button.

- Click `Continue`.
Expand Down
79 changes: 72 additions & 7 deletions docs/gcscript/syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ In GCScript a function call is a JSON object with a `type` property. It's value
"type": "getCurrentAddress",
}
```
*The `getCurrentAddress` function returns current wallet address and has no arguments.*
*The [getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html) function returns current wallet address and has no arguments.*


*Example of a function call with an argument named `value`:*
Expand All @@ -31,7 +31,8 @@ In GCScript a function call is a JSON object with a `type` property. It's value
]
}
```
*The `data` function returns the JSON type passed as `value` argument, and allows you to define a constant.*
*The [data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html) function returns the JSON type passed as `value` argument, and allows you to define a constant.*


## Blocks of Code

Expand All @@ -49,6 +50,11 @@ The body, the nested code, is a key-value map (or list) of function calls passed
}
}
```

🔍 *See also:*
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html),
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html)

*But this is the result of that code:*
```json
{
Expand Down Expand Up @@ -80,6 +86,10 @@ So in other terms, in order to return data from script execution back to a dapp
}
```

🔍 *See also:*
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)

*and now these are the expected results:*
```json
{
Expand Down Expand Up @@ -110,6 +120,11 @@ This root `script` function call has some unique superpowers, for example it can
}
}
```

🔍 *See also:*
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)

*and then results will be packed and shared back to that dapp by redirecting the user to the produced URL*
```json
"https://yourCustomDappSite.com/dappCallExecutionResults/1-H4sIAAAAAAAAA6tWSq0oyC8qKVayqlbKrXTLLCoucQWLgASKUotLc0oMDJWslByVdGBcIyDXCcE1BnKdlWprawHx4ftoTAAAAA/view"
Expand Down Expand Up @@ -155,6 +170,10 @@ We can understand isomorphism better by nesting some code blocks and check resul
}
```

🔍 *See also:*
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)

*and the isomorphic results:*
```json
{
Expand Down Expand Up @@ -195,11 +214,15 @@ Usually GCScript turns lists into key-value maps to make lists and maps equally
]
}
```
*The `getName` function returns current wallet name and has no arguments.*
🔍 *See also:*
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


*The [getName](https://beta-wallet.gamechanger.finance/doc/api/v2/getName.html) function returns current wallet name and has no arguments.*

*The `getCurrentAddress` function returns current wallet address and has no arguments.*
*The [getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html) function returns current wallet address and has no arguments.*

*The `getCurrentSlot` function returns current blockchain slot number and has no arguments.*
*The [getCurrentSlot](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentSlot.html) function returns current blockchain slot number and has no arguments.*

Now because underneath lists are normalized into key-value maps with item indexes as map keys, we can do this:

Expand All @@ -216,6 +239,13 @@ Now because underneath lists are normalized into key-value maps with item indexe
}
```

🔍 *See also:*
[getName](https://beta-wallet.gamechanger.finance/doc/api/v2/getName.html),
[getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html),
[getCurrentSlot](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentSlot.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


*And in both cases, results will be exactly the same:*
```json
{
Expand Down Expand Up @@ -248,6 +278,13 @@ Let's self document this code better:
}
```

🔍 *See also:*
[getName](https://beta-wallet.gamechanger.finance/doc/api/v2/getName.html),
[getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html),
[getCurrentSlot](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentSlot.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


*and this time results are, well, self-documented and isomorphic:*
```json
{
Expand Down Expand Up @@ -530,6 +567,11 @@ Lets explore all these on an example, but we will leave explanations for the `ma
}
```

🔍 *See also:*
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


*and the results:*
```json
{
Expand Down Expand Up @@ -572,6 +614,14 @@ Same like on other languages, you can pass arguments to a user-defined function
}
}
```

🔍 *See also:*
[getName](https://beta-wallet.gamechanger.finance/doc/api/v2/getName.html),
[getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html),
[getCurrentSlot](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentSlot.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


also you can pass arguments differently by passing one argument to each children function call individually

*Example of passing a user-defined argument per child function call on a block of code:*
Expand All @@ -592,6 +642,13 @@ also you can pass arguments differently by passing one argument to each children
}
```

🔍 *See also:*
[getName](https://beta-wallet.gamechanger.finance/doc/api/v2/getName.html),
[getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html),
[getCurrentSlot](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentSlot.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


also both techniques work together if combined in such a way that if a child argument has not been provided to `argsByKey`, `args` value will be passed by default as a fallback

*Example of passing a user-defined argument per child function call and a fallback on a block of code:*
Expand All @@ -611,6 +668,14 @@ also both techniques work together if combined in such a way that if a child arg
}
}
```

🔍 *See also:*
[getName](https://beta-wallet.gamechanger.finance/doc/api/v2/getName.html),
[getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html),
[getCurrentSlot](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentSlot.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


How to access and use these arguments, the cache memory, and other topics will be addressed once you get to know how to code on GCScript's Inline Scripting Language (ISL).

## Full API documentation
Expand All @@ -621,8 +686,8 @@ Ok, here you have them:

| Network | API Documentation |
| :------ | :----------- |
| Cardano Mainnet | [HTML Docs](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html) |
| Cardano Pre Production Testnet | [HTML Docs](https://beta-preprod-wallet.gamechanger.finance/doc/api/v2/api.html) |
| Cardano Mainnet | [HTML Docs](https://beta-wallet.gamechanger.finance/doc/api/v2) |
| Cardano Pre Production Testnet | [HTML Docs](https://beta-preprod-wallet.gamechanger.finance/doc/api/v2) |

Remember that GCScript DSL is a language defined by a JSON schema, so here are the latest auto-generated docs, self-hosted on the wallet itself. Schema between networks are the same but maybe some examples will change based on each one in the future.

Expand Down
2 changes: 1 addition & 1 deletion docs/transactions/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
- [Payments](payments.md)
- [Minting Tokens and NFTs](minting.md)
- [Smart Contracts](smart-contracts.md)

- [Multi-signatures](multisig.md)

Home: [General Documentation](../README.md)
23 changes: 23 additions & 0 deletions docs/transactions/minting.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,16 @@ On this example we will be using a self-sovereign user native script to rule ove

```

🔍 *See also:*
[script(nested)](https://beta-wallet.gamechanger.finance/doc/api/v2/script.html),
[getSpendingPublicKey](https://beta-wallet.gamechanger.finance/doc/api/v2/getSpendingPublicKey.html),
[nativeScript](https://beta-wallet.gamechanger.finance/doc/api/v2/nativeScript.html),
[buildTx](https://beta-wallet.gamechanger.finance/doc/api/v2/buildTx.html),
[signTxs](https://beta-wallet.gamechanger.finance/doc/api/v2/signTxs.html),
[submitTxs](https://beta-wallet.gamechanger.finance/doc/api/v2/submitTxs.html),
[macro](https://beta-wallet.gamechanger.finance/doc/api/v2/macro.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)

So in conclusion, we first mint
- \+ 100x WillDieToken
- \+ 1x WillNotDieToken
Expand Down Expand Up @@ -357,6 +367,19 @@ Let's mint 1 NFT!

```

🔍 *See also:*
[script(nested)](https://beta-wallet.gamechanger.finance/doc/api/v2/script.html),
[data](https://beta-wallet.gamechanger.finance/doc/api/v2/data.html),
[getCurrentAddress](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentAddress.html),
[getCurrentSlot](https://beta-wallet.gamechanger.finance/doc/api/v2/getCurrentSlot.html),
[nativeScript](https://beta-wallet.gamechanger.finance/doc/api/v2/nativeScript.html),
[buildTx](https://beta-wallet.gamechanger.finance/doc/api/v2/buildTx.html),
[signTxs](https://beta-wallet.gamechanger.finance/doc/api/v2/signTxs.html),
[submitTxs](https://beta-wallet.gamechanger.finance/doc/api/v2/submitTxs.html),
[macro](https://beta-wallet.gamechanger.finance/doc/api/v2/macro.html),
[script](https://beta-wallet.gamechanger.finance/doc/api/v2/api.html)


# Contracts or Validators?

Now you know how to create your own native scripts, or "dumb contracts".
Expand Down
Loading

0 comments on commit f88c0a1

Please sign in to comment.