Skip to content
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

Add JS usage examples for building and using contract specifications #662

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

silence48
Copy link
Contributor

Write some examples of using the contractspec in javascript along with an example contract sdk as an alternative to generated bindings.

This is for the bounty #605

Write some examples of using the contractspec in javascript along with an example contract sdk as an alternative to generated bindings.
philipliu pushed a commit to philipliu/stellar-docs that referenced this pull request Jun 10, 2024
* Add dapps challenge (stellar#487)

* Add Dapps Challenge to Docs

Todo: user dashboard visibility

* add hide unless dapps

* update user card

* update checkpoints

* add user dashboard to dapps challenges

* Update Dapp Challenge Description

* Update tsconfig.json

* fix tsconfig.json

* small grammar fixes

* small grammar fixes

* small grammar fixes

* small grammar fixes

* small grammar fixes

* update challenge 0 and 1 ; add images for challenge 2

* Capitalize Futurenet; lowercase Dapp when needed

* disclaimer; nit crowdfunding -> crowdfund

* Update challenge-0-crowdfund.mdx

* update layout and guides

* Update smart-contracts.mdx

* update content

* add links

* nit update soroban quickstart

* Update react.mdx

* Update challenge-0-crowdfund.mdx

* update start course redirect

* we -> you

* update wrangler endpoint to stellar cloudflare

* update wrangler endpoint

* add module resolution and jsx

* add wrong network page; remove unused code; add vercel.app checking

* update wallets conclusion

* nit Update wallets.mdx

* nit update broken link

* Freighter -> WalletData Component

* update crowdfund dapps challenge for P10

* Fix Setup

* update docker workflow; add better notes

* nit standalone docker requirement

* re-enable .vercel.app check; move ParentChallengeForm

* move Login function

* fixed automatic log in problem

* comment out connection check

* comment out auto connect hook; nit Login -> Connect

* removed unused setLoading() changed order of operations

* update to checkout challenge branch

* completed challenge message = clickable url

* remember user is logged in

* setup `BrowserOnly`

* Update yarn.lock

* Update yarn.lock

* merge main into dapps challenge

* Update yarn.lock

* nit: refresh message

* add disconnect button comment; better connection insight

* update contract initialization to use strings

* auto populate url; add resubmit; fix broken invoke

* add setSavedUrl; improve url auto populate

* improve local storage for pubkey

---------

Co-authored-by: Bri <[email protected]>

* Update initialization.mdx (stellar#518)

* editorial nits for dapps challenge (stellar#544)

* editorial nits on crowdfund dapp

* editorial nits in payment dapp challenge

* Add scaffold soroban (stellar#545)

* Create scaffold-soroban.mdx

* add video embed

* reformat code call outs; add conclusion

* Update scaffold-soroban.mdx

* nit: link sc

* nit add rpc link

* add definition to soroban RPC

* update deep dive section

* dApp -> dapp

* remove atomic swap description

* update simulate txn section; copy edits

* update intro to dapps

* nit:fix link

* update links; edit copy

* nit:typo

* SDC UI upgrades (stellar#542)

* Update index.tsx

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

* Merge Development into main (stellar#2)

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Add Dashboard for Dapps challenges (stellar#3)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

* Add Dashboard for Dapps challenges (stellar#3) (stellar#4)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

Co-authored-by: Iryna Telesheva <[email protected]>

* Merge SDC from julian-dev28:main to Stellar:SSDC23 (stellar#541)

* Update index.tsx

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

* Merge Development into main (stellar#2)

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Add Dashboard for Dapps challenges (stellar#3) (stellar#4)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

Co-authored-by: Iryna Telesheva <[email protected]>

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Update the user workflow for the challenges with CI/CD (stellar#5)

* Update the Crowdfund challenge with pull request validation step info

* Refactor

* Add isPullRequestRequired field handling

* Update text for Crowdfund checkpoint 8

* Make isPullRequestRequired required

* Fix issue with dates

* Merge branch 'main' into SSDC23

* Update challenge-0-crowdfund.mdx

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Updated mdx files on dapps (stellar#525)

* Fixed typos in dapps section
* Fixed typos in fundamentals-and-concepts section

* Add lp dapp challenge (stellar#543)

* Create challenge-2-liquidity-pool

* update lp dapp challenge

* complete lp-dapp challenge

* nit spelling

* Update challenge-2-liquidity-pool.mdx

* nit spelling

* nit add steps to workflow

* nit update workflow

* update workflow again

* add diff

* edit diff

* more diff editing

* editorial edits

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* add reference to earlier step; fix conflict in crowdfund dapp page

* update quickstart version

* small wording change

---------

Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* Update Futurenet to Testnet Across Documentation (stellar#577)

* Futurenet -> Testnet

* fix broken links

* update-rpc-page

* Update testnet.mdx

* Pass 1

* format

* update table in testnet.mdx

* update state expiration example script to use testnet

* replacing futurenet with testnet in contract deployment example

* revert SDC contnet

* include testnet network passphrase on releases page

* update freighter to include testnet alongside futurenet

* revert SDC to Use Futurenet for the time being

* style: fix up markdown syntax and style in `rpc.mdx`

Also adds some small linguistic and grammer changes, as well as more
updates from Futurenet to Testnet

* docs: include Testnet when describing what RPC servers SDF maintains

* style: changing a single ellipsis character with three periods

* docs: include gh repo links to the software that runs in quickstart

* add the Testnet network to the example `initialize.sh` script

* change contract-invoking transaction example code to use Testnet

* change to valid futurenet URLs in dapp challenges

* Apply suggestions from code review

minor tweaks that slipped through the cracks

---------

Co-authored-by: Elliot Voris <[email protected]>

* Soroban Dapps Challenge: Update Sidebar and Remove Local Deployment (stellar#597)

* remove challenges top level dropdown; remove local deployment

* update Soroban version

* Prevent Popup for Testnet

* Leaderboard and Freighter API integration (stellar#598)

* Add leaderboard with wallet integration feature

* Update index.tsx

* Add total value locked logic with reseting user data

* Refactor reset logic

* Refactor sorting

* Revert TVL for payment

* Update resubmit contract id logic

* Fix resubmiting contractId

* Add pagination and wallet address to leaderboard

* Change columns order

* Allow payment be completed

* User submit ContractID

* use GH token

* use npm instead of yarn

* Update main.yml

* revert back to yarn

* use https for wallets kit

* try access token

* use new github token

* set up to use git https

* last random try

* Update main.yml

* use default settings

* set origin for wallets-kit

* trying npm again

* nit: use npm for scripts

* Remove stellar wallets kit; add support for users w no progredd

* nit: phrasing

* Use Original GH Action

* Show user address

* nit: phrasing

* nit: connect message

* add missing cd

---------

Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>

* update leaderboard ranking toggle (stellar#609)

* Corrected calculation of total pages so that 'Prev' and 'Next' buttons are disabled when table contains less than 10 rows. (stellar#611)

* Add tabs to dapps challenge checkpoints (stellar#610)

* Update challenge-0-crowdfund.mdx

* Add tabs to interaction step

* add tabs to checkpoints

* feat: provide a means of receiving simple feedback from users (stellar#587)

* feat: provide a means of receiving simple feedback from users

Here, we have swizzled (ejected) the `DocItem/Footer` component
from docusaurus, and are inserting our own `ReaderFeedback`
component into it before the rest of the doc footer content.
Also, the `custom.scss` file has been used to style this element
in a consistent manner with the rest of the site.

This is the first step to resolve stellar#586: The user interaction can
now take place. From here, we will work on integrating the custom
events into Google analytics. Ultimately, we will like to implment
this feature into the `stellar-docs` repository, as well.

Refs: stellar#586

* Moving some React state things around

* Including an `alt` tag for the like/dislike buttons

* use the `pageId` for `eventLabel` in the send event

* style: Linting the code

* style: changing inline svg tag to be on newlines, changine filename to `jsx`

* feat: Inserting the `DocItem/Footer` components on `dapps` and `api` pages

* feat: migrating to the GA4 plugin in docusaurus

* Testing with a new ga4 tracking id for preview domain

* add some console statements to test what's happening

* add configuration for test gtag container for this pr preview

* feat: use `gtag` over the deprecated `ga` function

* adding my own test gtag?

* Remove the `gtag` function call, and just register state

* removing the old-style google analytics tag for good

* remove staging tag manager containers in preparation for production

* replace staging ga4 tracking id with production tracking id

* use `@site/static` for feedback button imports, rename file extension

* Remove docker image hashes (stellar#628)

* remove mentions of specific image hashes in docker commands

* update docker image hash to most recent version on releases page

* Update Soroban Dapps Challenge copy (stellar#631)

* update redeployment section

* add description for deployment

* update links

* add note about building `target`

* Update challenge-0-crowdfund.mdx

* Update challenge-2-liquidity-pool.mdx

* Sdc mental models: payment dapp upgrades (stellar#641)

* bringing sdc-mental-models branch up to date (stellar#632)

* feat: provide a means of receiving simple feedback from users (stellar#587)

* feat: provide a means of receiving simple feedback from users

Here, we have swizzled (ejected) the `DocItem/Footer` component
from docusaurus, and are inserting our own `ReaderFeedback`
component into it before the rest of the doc footer content.
Also, the `custom.scss` file has been used to style this element
in a consistent manner with the rest of the site.

This is the first step to resolve stellar#586: The user interaction can
now take place. From here, we will work on integrating the custom
events into Google analytics. Ultimately, we will like to implment
this feature into the `stellar-docs` repository, as well.

Refs: stellar#586

* Moving some React state things around

* Including an `alt` tag for the like/dislike buttons

* use the `pageId` for `eventLabel` in the send event

* style: Linting the code

* style: changing inline svg tag to be on newlines, changine filename to `jsx`

* feat: Inserting the `DocItem/Footer` components on `dapps` and `api` pages

* feat: migrating to the GA4 plugin in docusaurus

* Testing with a new ga4 tracking id for preview domain

* add some console statements to test what's happening

* add configuration for test gtag container for this pr preview

* feat: use `gtag` over the deprecated `ga` function

* adding my own test gtag?

* Remove the `gtag` function call, and just register state

* removing the old-style google analytics tag for good

* remove staging tag manager containers in preparation for production

* replace staging ga4 tracking id with production tracking id

* use `@site/static` for feedback button imports, rename file extension

* rpc: rename expirationLedgerSeq to liveUntilLedgerSeq (stellar#625)

* rpc: rename expirationLedgerSeq to liveUntilLedgerSeq

* rpc: rename expiration ledger in openrpc file

---------

Co-authored-by: Elliot Voris <[email protected]>

* Remove docker image hashes (stellar#628)

* remove mentions of specific image hashes in docker commands

* update docker image hash to most recent version on releases page

* Update WASM retrieval tutorial (stellar#627)

* docs: explain the diagnostic events that are emitted in sandbox (stellar#593)

* docs: explain the diagnostic events that are emitted in sandbox

Perhaps this approach is too verbose? I think having the explanation
of what is being seen right there in the tutorial is useful at this
early step in the "getting started" section. A new developer is more
likely to understand what they see, and remember what it is in the
future if we don't try to interrupt their flow at this point by
sending them to another page for some (possibly irrelevant) info.

I may be incorrect there, and I'm happy to hear opinions from others.

Refs: stellar#521

* docs: add a space between two words

* editorial in Update hello-world.mdx

---------

Co-authored-by: Bri Wylde <[email protected]>

* Fix a couple typos in rust-dialect.mdx (stellar#630)

---------

Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>

* Crowdfund dapp copy updates v1

Added in some (minimal) context throughout.
Tidied up a few grammatical/spelling inconsistencies.

* add description and update "ship it" workflow

* update soroban-cli install

* Update challenge-0-crowdfund.mdx

* remove extra vercel link

* Merge branch 'main' into sdc-mental-models

* Add intro to dapps

* nit formatting

* Payment dapp copy updates

Updates to Checkpoints 0-4 of the Payment dapp challenge, including added copy and a few very minor grammatical upgrades.

* add more context

* Merge Payment dapp fix (stellar#643)

* Update latest testnet-compatible JavaScript release versions (stellar#634)

* Update latest testnet-compatible JavaScript release versions

* Add links to release notes for each version

* Upgrade `getLedgerEntries` examples to latest pre-stable releases of the SDKs (stellar#635)

Co-authored-by: Elliot Voris <[email protected]>

* Switch Ubuntu base image to 22.04 from 20.04 (stellar#638)

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>

* Update getting-started for 20.0.0-rc.4.1 cli (stellar#636)

* Updates to setup.mdx

* Add CLI for testnet configuration to Setup

* Updates to hello-world.mdx

Reorder some code snippets to be after the description

* Small edits in storing-data.mdx

* Add high_expiration_watermark argument to bump in incrementor

* Move deploy-to-testnet after hello-world to allow the user to interact with their contract on testnet

* Add Optimizing Builds to hello-world

* Update storing-data to remove sandbox interation

* Add a deploy-incrementor-to-testnet step

* Update position of Create an App

* Apply suggestions from code review

Co-authored-by: Chad Ostrowski <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chad Ostrowski <[email protected]>

* Update create-an-app.mdx

* Fix typo

* Add a mv command for .soroban dir when reorganizing to a multi-contract project

* Apply mdx prettier updates

* Update astro port in create-an-app.mdx

* Apply suggestions from code review

Co-authored-by: Elliot Voris <[email protected]>

* Add .mdx to end of internal markdown links for docusaurus magic

* Make sure there are new lines before and after ::: tags

* Some additional edits/improvements

* Mention that Freighter is available as a firefox add-on

* Update the deploy-incrementor url

* Apply prettier updates

---------

Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* docs: change preflight wording to simulate transaction (stellar#585)

* docs: change preflight wording to simulate transaction

A first attempt to resolve stellar#478, there may be more work to be done.
I've used a few different phrases, depending on how the sentence
structure works, perhaps taking some liberties in the process.

I've also left alone the `releases` page for preview releases
older than 11. It seems unnecessary to rewrite the development
history too far into the past.

Refs: stellar#478

* editorial on Update interacting-with-contracts.mdx

* added a couple "the"s Update state-expiration.mdx

* fix wording about ledger entries to be less confusing

* clearing up some other language surrounding footprints

---------

Co-authored-by: Bri Wylde <[email protected]>

* Create data-providers.mdx (stellar#629)

* Create data-providers.mdx

Adding new page for data providers to cover indexers and block explorers

* Update data-providers.mdx

updated explanation text

* style: fixing some markdown styles and formatting

* Adding some more verbose descriptions and links

---------

Co-authored-by: Elliot Voris <[email protected]>

* docs: change sitewide wording from "preview release" to "release candidate" (stellar#639)

* docs: update welcome page "preview release" > "release candidate"

* docs: change "preview release" > "release candidate" on releases page

* update payment challenge; add styles

* add clickable object to localhost:9000 example

* Update challenge-1-payment.mdx

* Squashed commit of the following:

commit 76c48ccd8049bca6bb11f131cefb35253dad86b2
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 10:10:12 2023 -0800

    add more context

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: jcx120 <[email protected]>

* format image

* Squashed commit of the following:

commit 308444d93d4f7133107ca499a6d255fe5ae302d4
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 14:55:06 2023 -0800

    update copy

commit ec062702a5a900ff890bf5cc99dfd9b6dbe1915a
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 12:34:07 2023 -0800

    add styles for lp

commit f7bbf2e61a262aa6dd76bed2f43cd26aafce075b
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 12:13:49 2023 -0800

    add image styles

* update copy for production deployment

* caution -> tip

* add commas, add soroban-cli install to payment dapp

* fix broken link

* Squashed commit of the following:

commit 7de8a99ec32065376ea4fd2f42a14194cdda6e49
Author: Elliot Voris <[email protected]>
Date:   Thu Nov 9 15:47:49 2023 -0600

    docs: move data providers page out of sdks directory (stellar#645)

commit 55e0a866c6dbbe2b4dd38f38816915d59c962584
Author: Elliot Voris <[email protected]>
Date:   Tue Nov 7 11:40:20 2023 -0600

    docs: change sitewide wording from "preview release" to "release candidate" (stellar#639)

    * docs: update welcome page "preview release" > "release candidate"

    * docs: change "preview release" > "release candidate" on releases page

commit 2ae107280eb4bfee7192e7bdabf704c80ffab43c
Author: jcx120 <[email protected]>
Date:   Tue Nov 7 08:48:50 2023 -0800

    Create data-providers.mdx (stellar#629)

    * Create data-providers.mdx

    Adding new page for data providers to cover indexers and block explorers

    * Update data-providers.mdx

    updated explanation text

    * style: fixing some markdown styles and formatting

    * Adding some more verbose descriptions and links

    ---------

    Co-authored-by: Elliot Voris <[email protected]>

commit 0054011876a8273788a5bf6de16623683c9159d2
Author: Elliot Voris <[email protected]>
Date:   Mon Nov 6 11:00:02 2023 -0600

    docs: change preflight wording to simulate transaction (stellar#585)

    * docs: change preflight wording to simulate transaction

    A first attempt to resolve stellar#478, there may be more work to be done.
    I've used a few different phrases, depending on how the sentence
    structure works, perhaps taking some liberties in the process.

    I've also left alone the `releases` page for preview releases
    older than 11. It seems unnecessary to rewrite the development
    history too far into the past.

    Refs: stellar#478

    * editorial on Update interacting-with-contracts.mdx

    * added a couple "the"s Update state-expiration.mdx

    * fix wording about ledger entries to be less confusing

    * clearing up some other language surrounding footprints

    ---------

    Co-authored-by: Bri Wylde <[email protected]>

commit b9710ea0ea6c4652aea2019504534197195a2b3a
Author: Elizabeth <[email protected]>
Date:   Mon Nov 6 11:59:21 2023 -0500

    Update getting-started for 20.0.0-rc.4.1 cli (stellar#636)

    * Updates to setup.mdx

    * Add CLI for testnet configuration to Setup

    * Updates to hello-world.mdx

    Reorder some code snippets to be after the description

    * Small edits in storing-data.mdx

    * Add high_expiration_watermark argument to bump in incrementor

    * Move deploy-to-testnet after hello-world to allow the user to interact with their contract on testnet

    * Add Optimizing Builds to hello-world

    * Update storing-data to remove sandbox interation

    * Add a deploy-incrementor-to-testnet step

    * Update position of Create an App

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Update create-an-app.mdx

    * Fix typo

    * Add a mv command for .soroban dir when reorganizing to a multi-contract project

    * Apply mdx prettier updates

    * Update astro port in create-an-app.mdx

    * Apply suggestions from code review

    Co-authored-by: Elliot Voris <[email protected]>

    * Add .mdx to end of internal markdown links for docusaurus magic

    * Make sure there are new lines before and after ::: tags

    * Some additional edits/improvements

    * Mention that Freighter is available as a firefox add-on

    * Update the deploy-incrementor url

    * Apply prettier updates

    ---------

    Co-authored-by: Chad Ostrowski <[email protected]>
    Co-authored-by: Elliot Voris <[email protected]>

commit 61054dcad82dbf77c28aa1819ad08b6fa132ad70
Author: Satyam Zode <[email protected]>
Date:   Fri Nov 3 20:26:27 2023 +0530

    Switch Ubuntu base image to 22.04 from 20.04 (stellar#638)

    Signed-off-by: Satyam Zode <[email protected]>
    Co-authored-by: Satyam Zode <[email protected]>

commit d6091131996ab81e42dff57f4bccaad3f5d56b3e
Author: George <[email protected]>
Date:   Thu Nov 2 12:53:52 2023 -0700

    Upgrade `getLedgerEntries` examples to latest pre-stable releases of the SDKs (stellar#635)

    Co-authored-by: Elliot Voris <[email protected]>

commit 228e4bfed691effa58a07b664abfd78b04e6dcd4
Author: George <[email protected]>
Date:   Thu Nov 2 09:18:50 2023 -0700

    Update latest testnet-compatible JavaScript release versions (stellar#634)

    * Update latest testnet-compatible JavaScript release versions

    * Add links to release notes for each version

* add SEO logic

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: jcx120 <[email protected]>

* Add oracle dapp challenge (stellar#664)

* add oracle dapp

* update endpoint

* add images

* Update http-client.ts

* update challenge list

* add last checkpoint to oracle dapp

* Update http-client.ts

* update meta tag

* update title (stellar#665)

* Liquidity Pool Dapp copy updates v2 (stellar#651)

* Update challenge-2-liquidity-pool.mdx

* Update challenge-2-liquidity-pool.mdx

* Squashed commit of the following:

commit 1864016f07b4f91a0cd9656ca55c2d8c568a0d02
Author: Dmytro Kozhevin <[email protected]>
Date:   Tue Dec 5 12:09:24 2023 -0500

    Remove some outdated cautions from the docs, now that Soroban should be stable. (stellar#672)

commit 816e2a0e1f4e0f1e30c909b92b74b75081d3d3d7
Author: Leigh McCulloch <[email protected]>
Date:   Tue Dec 5 08:48:10 2023 -0800

    Remove git init from hello world steps (stellar#666)

commit 19b10a8f4c24e495f9dc04f10c694449e4f5a333
Author: Anuxhya <[email protected]>
Date:   Tue Dec 5 11:43:19 2023 -0500

    Update fees-and-metering.mdx (stellar#654)

    * Update fees-and-metering.mdx

    Cleaning up the docs challenge 1 of the word s o r o b e r r y.

    * Update fees-and-metering.mdx

    Syntax error

commit 36cc17fca85efc1471e3aadfb29b0ca1687e536b
Author: Leigh McCulloch <[email protected]>
Date:   Sat Dec 2 21:01:14 2023 -0800

    Update soroban-sdk to v20.0.0-rc2.2 (stellar#667)

commit c5b01369ede0b78c2626013f2b43683f69db2905
Author: Leigh McCulloch <[email protected]>
Date:   Fri Dec 1 09:41:37 2023 -0800

    Remove step adding target dir to gitignore (stellar#660)

commit 214a207
Author: Julian Martinez <[email protected]>
Date:   Fri Dec 1 09:07:49 2023 -0800

    update title (stellar#665)

commit 4b91088
Author: Julian Martinez <[email protected]>
Date:   Fri Dec 1 08:36:59 2023 -0800

    Add oracle dapp challenge (stellar#664)

    * add oracle dapp

    * update endpoint

    * add images

    * Update http-client.ts

    * update challenge list

    * add last checkpoint to oracle dapp

    * Update http-client.ts

    * update meta tag

commit 595d591e97b946a971a51f73520deb3341be6476
Author: Bri Wylde <[email protected]>
Date:   Thu Nov 30 11:53:53 2023 -0700

    clearer Soroban favicon (stellar#662)

commit dc14811ded524a6f2d0026b5d1cce19ad4df7827
Author: Elliot Voris <[email protected]>
Date:   Wed Nov 29 16:11:19 2023 -0600

    synchronize api example tabs across pages (stellar#661)

commit 4f1198cfde2df402c0e74f1145828423c39e29ea
Author: Elliot Voris <[email protected]>
Date:   Wed Nov 29 13:01:38 2023 -0600

    Revert "Update getting started tutorial to use an Astro template (stellar#642)" (stellar#658)

    This reverts commit 512b1f46506b7edc788bc6e93a0e1f6d101d22ae.

commit 81cac0d3524a1a80ce2fadd88e93aa40ffde791b
Author: Elliot Voris <[email protected]>
Date:   Mon Nov 27 16:29:57 2023 -0600

    build: a couple small fixes to get the build to work (stellar#657)

    * build: a couple small fixes to get the build to work

    * style: changing the way a couple codefences work

commit 512b1f46506b7edc788bc6e93a0e1f6d101d22ae
Author: Elizabeth Engelman <[email protected]>
Date:   Mon Nov 27 13:00:32 2023 -0500

    Update getting started tutorial to use an Astro template (stellar#642)

    * Update create-an-app.mdx to use an Astro template

    * Apply prettier formatting

    * Add some additional gotchas to the troubleshooting section

    * Reworks hello-world.mdx using the Astro template

    * Rework deploy-to-testnet.mdx to interact with the contarct via the frontend

    * Update storing-data.mdx

    * Update deploy-incrementor.mdx

    * Change create-an-app.mdx to wrapping-up.mdx

    * Apply prettier updates

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Address PR feedback

    - move "???" bummer to "taking it further"
    - add command expansion note to deploy-to-testnet
    - remove mention of incrementor in deploy-to-testnet

    * Small cleanup

    * Address PR feedback

    * Remove release-with-logs section

    * Update code snippets to match updated tutorial code

    * Apply suggestions from code review

    Co-authored-by: Elliot Voris <[email protected]>

    * Address PR feedback

    * Check in prettier updates

    * update getting started links on the landing page

    * redirect the old create an app page to the hello world page

    ---------

    Co-authored-by: Chad Ostrowski <[email protected]>
    Co-authored-by: Elliot Voris <[email protected]>
    Co-authored-by: Elliot Voris <[email protected]>

commit f04a865b519d05495932fbaaf5bd075c8438c4ef
Author: jcx120 <[email protected]>
Date:   Mon Nov 27 09:23:53 2023 -0800

    Update rpc-list.mdx (stellar#653)

    * Update rpc-list.mdx

    Added Gateway FM (and removed BlockEden since they are in the Data providers list)

    * style: linting mdx file

    ---------

    Co-authored-by: Elliot Voris <[email protected]>

commit a9e0d34f61080bf456219e68c018432370bf3bf0
Author: Elliot Voris <[email protected]>
Date:   Mon Nov 27 11:22:58 2023 -0600

    undo some changes from the docs scavenger hunt (stellar#656)

* Revert "Squashed commit of the following:"

This reverts commit ada22fee5da3073cc3e4daee60a2c4f3ffc3e378.

* Update challenge-2-liquidity-pool.mdx

* add context to price setting

* Add v20.0.0 (stellar#668)

* add P12 Release

* formatting

* Update releases.mdx

* formatting

* update horizon,stellar-base,cli

* add stellar sdk + base, soroban-client, Quickstart, changelog

* remove http from quickstart endpoint

* v20.0.0-rc2 -> v20.0.0

* Preview 12 -> Stable v20.0.0

* update CLI, RPC, Core Versions

* update stellar cor version

* Content updates to go along with the preview 12 version updates (stellar#682)

* update the token interface to reflect the Rust SDK

* feat: get Getting Started ready for v20.0.x

I don't know what the exact version of the CLI will be out by next
Monday. In the source here, I've guessed that maybe it will be `20.0.3`.

* update `openrpc.json` file to reflect new updates

* Update static/openrpc.json

Co-authored-by: Alfonso Acosta <[email protected]>

---------

Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Molly Karcher <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>

* Update token-interface.mdx

* nit:formatting

---------

Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Molly Karcher <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>

* Update JavaScript SDK references to use the `@stellar/stellar-sdk` package (stellar#687)

* Upgrade js sdk dependencies to latest

* Track down references to soroban-client and move them

* Ran linter

* Pre mainnet restructure (stellar#644)

* docs: rename "fundamentals and concepts" to "soroban internals"

* docs: remove old "under the hood" section

* docs: add tags to the various tutorials

* docs: move tutorials into one main directory

* fix broken links to old pages

* docs: renaming soroban internals in category file

* docs: remove old "command line reference" category

* docs: add tokens directory, rearrange sidebars

* docs: rearrange migration from evm guide

* docs: remove unused reference/interfaces category

* docs: move "reference" section to "resources"

* docs: move "releases" page up a level

* docs: move FAQ page up one level

* docs: move dev tools into resources directory

* docs: move testnet.mdx to networks.mdx

* docs: rearrange items in resources directory

* docs: collapse various SDK pages into two pages

* docs: move data-providers up one level

* docs: remove some empty categories, move the tutorial template

* docs: add a new getting-started page, reorganize that section

* docs: change sidebar position integers in soroban-internals

* docs: shuffling contract interaction around in soroban-internals

* style: fixing a couple small markdown nits in dapps directory

* docs: fix a broken link

* feat: start to the "guides" page(s)

* style(lint): fixing a small linting error

* remove guides placeholder

* fixing broken links

* work on guides listing. might revert this

* formatting mdx

* docs: fixing a broken link to tutorials

* style: crack at making the tutorials filterable and hidden in the sidebar

* customizing some components for the `/guides` pages and layouts

* rename index page for guides to README

* remove commented configuration option

* remove some console logging in components

* change name of index page in guides sidebar

* remove commented sidebar generation code

* remove comments and add description to sidebar generator

* rename sidebar generator file

* more work on how the 'guides' pages might look.

* docs: adjusting sidebar positions of new getting started pages

* fix some broken links in the getting-started section

* prefer "README.mdx" files where possible

* some more guides placeholder stubs

* docs(guides): More placeholder stubs for guides and categories

* feat: don't display "guides in category" page on `/guides`

* build: check/fix MDX formatting in more directories than just docs

* style: add a larger margin before more category guides

* style: more selectively increase that top margin

* docs(guides): a quick stab at a "publishing" events guide

* docs(guides): first stab at the "publish events" guide

* docs: updating tutorial descriptions

* fix a few broken links

* docs: add note about a tuple with one element

* style: couple link changes and reformats

* move fuzzing tutorial back

* change to README file in contract interactions category

* docs(guides): give a better title for the wasm metadata guide

* fixing some broken markdown links

* fix (another!) broken link

* move the guides back into the main layout of the docs directory

* add placeholder for testnet reset automation stuff

* some initial content for some guides

* markdown formatting and fixing broken links

* moving "resources" back to "reference" to fit the definition better

More like "technical reference" rather than a "reference encyclopedia"

* change some styles of the tutorial list

* removing most category pages

* some more first-drafts of guides

* fixing some category links

* include a period at the end of each tutorial description

* simplify tutorial search box placeholder text

* better description for the tutorials page

* making the pre-commit script executable

* flesh out some of the state archival guides

* first effort for some rpc ledger key guides

* fix some broken links

* add a guide on ingesting events into a db

* first effort at storage type guides

* Some more stubs, marking drafts, and a couple additions

* make not a draft to fix a broken link

* guides category descriptions in README.mdx files

* marking incomplete chain migration docs as drafts

* change some tutorial difficulty levels

* fine-tune the tutorials component styling a bit

* improving some guides organization

* fix linting errors and broken links

* include wrap instructions for native lumens

* fix broken link in contract metadata guide

* final changes to existing guides

* moving developer tools into the main sidebar

* create real redirects instead of just notes

* fix broken links in a dapps challenge page

* fix a redirect syntax error

* fix a tutorials redirect

* update SDC leaderboard (stellar#712)

* update leaderboard style

* update font color

* Refactor wrap/deploy of SAC (stellar#718)

Co-authored-by: Leigh McCulloch <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* Refactor deprecated calls to `soroban config` (stellar#731)

* Update the community RPC list (stellar#744)

* Update RPC list with network info

* Add run your own RPC

* Fix urls for soroban cli

* Fix path to cli

* Fix relative link

* Add formatted mdx

---------

Co-authored-by: Jane Wang <[email protected]>

* move dapps challenge directory into place

* install new packages for dapps-challenge

* delete mispelled constants file

* fix relative imports

* move challenges to pages directory, and use README files

* correct markdown link

* fix broken links in dapps challenge docs

* fix link routes in dapps challenge dashboard

* add /src/pages dir to markdown formatting checks; format markdown

* fix relative imports on dapps challenge dashboard

* move the dashboard location into the dapps URLs

* add dapps challenge dashboard to the sidebar

using a customized sidebar generator for this.

* remove soroban events provider component from challenge forms

* fix dashboard links on dapp challenge pages

* change some frontmater and remove head items from dapps challenges

* move the docker guide from dapps challenge to guides

* move the rest of the dapps challenge guides

* update and move around the dapps guides

* lint and format markdown

* redirect /dapps requests, just in case

* remove link to guide content that no longer exists

* add link to dapps challenge in footer

* add link to freighter guide on dapps challenge intro page

* Update Dapps Challenge name in sidebar

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Bri <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Alejandro Criado-Pérez <[email protected]>
Co-authored-by: illiassmalashchuk <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: MazurakIhor <[email protected]>
Co-authored-by: nmadadair <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: jcx120 <[email protected]>
Co-authored-by: Molly Karcher <[email protected]>
Co-authored-by: Pamphile Roy <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>
Co-authored-by: Jane Wang <[email protected]>
Co-authored-by: Jane Wang <[email protected]>
@briwylde08 briwylde08 requested a review from Shaptic June 11, 2024 14:20
@briwylde08
Copy link
Contributor

Woop woop! Thanks again @silence48! We'll review and get back to you by 7/2 🌟

philipliu pushed a commit to philipliu/stellar-docs that referenced this pull request Jun 11, 2024
* initial commit

* example including an image

* add doc on assets-and-authorization, with auth part filled in

* update wordmark

* Add a homepage (stellar#197)

* permit homepage

* progress

* desktop version is donenough

* slight mobile tweaks

* feedback tweaks

* small order and style tweaks

* mobile tweaks

* copy tweak

* moar slight tweaks

* add Sorobanathon links

* slight rename

* z-index tweaks

* USDC -> XLM

* copy tweak

* tweakers for weekers

* copy and zindex tweaks

* appeasing the nit pickers

* added a meta image

* Soroban landing (stellar#396)

* init soroban landing

* Start landing markup

* Add earn section and refine styles

* Add SCF section

* Add Soroban section

* Update hero min-height

* add media section

* add assets v1

* add links to getting started

* update twitter

* add assets v2

* add missing links

* Adjust images

* final

* clean up old home page assets

* cleanup scss colors

* added hello world code

* dark mode

* fixed some minor issues

* updaters

* add a 5. card

---------

Co-authored-by: Jesmar Castillo <[email protected]>
Co-authored-by: Tyler van der Hoeven <[email protected]>

* Evm to Soroban (#409)

* initial commit

* add code breakdown

* add mdx

* remove mdx

* update Rust SC

* add advanced concepts

* add vault contract and tests

* Update solidity-and-rust-advanced-concepts.mdx

* remove un tabbed code

* update vault.rs; add shell cmds

* update yield amount

* add vault deployment and interaction

* add wdraw message

* fix script sequence

* add EVM comparison

* update error handling

* 1st round review

* Update script descroption

* add solidity to approved languages

* fixed a broken link

* move file folder; add token inheritance

* update links

* fixed broken links

* update Soroban Description

* nit: spelling

* Fix bytes and arrays

* spelling errors

* spelling errors

* no capitalization on build

* grammar spelling errors

* spelling and grammar errors

* fixes; post PR review

* macros description

* Correction: Data Types

* update Symbol Definition

* update traits definition: fix Solidity Contract

* Merge main into evm-to-soroban (stellar#414)

* update code block (stellar#400)

* additional copy changes to site (stellar#401)

* copy edits from Dom (stellar#403)

* update broken link (stellar#404)

* update token interface (stellar#406)

* update token intereface

Interface was referenced from :
https://github.com/stellar/rs-soroban-sdk/blob/main/soroban-sdk/src/token.rs

* update fn description

* nit: update fn description

* nit: format

* nit: bracket format

* fix event topics

* update events

* revert per PR to fix event name

https://github.com/stellar/rs-soroban-env/pull/778/files

* Improve Failure Condition Handling in Token Interface (stellar#394)

* Add Error Handling Section

* update authorization info

* add more context to authorization

* nit: call not specific to callers address

* Add event docs (stellar#375)

* Add event docs

* Remove note

* Add link to events example

* fixes malformed hello world link (stellar#412)

* Remove derive Default (stellar#413)

---------

Co-authored-by: Tyler van der Hoeven <[email protected]>
Co-authored-by: Bri <[email protected]>
Co-authored-by: Siddharth Suresh <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>

* fix spelling and add string example

* move evm-to-soroban

* resolve conflict

* add auth section. Add comparison for addresses

* embolden main point about replay prevention

* nit update section

* nit wording

* improve Address and Auth Callouts

* update contract deposit fn. Update ID to addr conversion

* nit: var placeholders

* example vault update

* update vault example to 8.1

* update to align w main

* updates Env:: to env. ; nits

* add section on composability

* nit: update soroban-sdk version

* update example to use sdk 8.4

* remove admin from mint

* nit: grammar; update tx messages

---------

Co-authored-by: Tyler van der Hoeven <[email protected]>
Co-authored-by: Bri <[email protected]>
Co-authored-by: Siddharth Suresh <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>

* Add dapps challenge (stellar#487)

* Add Dapps Challenge to Docs

Todo: user dashboard visibility

* add hide unless dapps

* update user card

* update checkpoints

* add user dashboard to dapps challenges

* Update Dapp Challenge Description

* Update tsconfig.json

* fix tsconfig.json

* small grammar fixes

* small grammar fixes

* small grammar fixes

* small grammar fixes

* small grammar fixes

* update challenge 0 and 1 ; add images for challenge 2

* Capitalize Futurenet; lowercase Dapp when needed

* disclaimer; nit crowdfunding -> crowdfund

* Update challenge-0-crowdfund.mdx

* update layout and guides

* Update smart-contracts.mdx

* update content

* add links

* nit update soroban quickstart

* Update react.mdx

* Update challenge-0-crowdfund.mdx

* update start course redirect

* we -> you

* update wrangler endpoint to stellar cloudflare

* update wrangler endpoint

* add module resolution and jsx

* add wrong network page; remove unused code; add vercel.app checking

* update wallets conclusion

* nit Update wallets.mdx

* nit update broken link

* Freighter -> WalletData Component

* update crowdfund dapps challenge for P10

* Fix Setup

* update docker workflow; add better notes

* nit standalone docker requirement

* re-enable .vercel.app check; move ParentChallengeForm

* move Login function

* fixed automatic log in problem

* comment out connection check

* comment out auto connect hook; nit Login -> Connect

* removed unused setLoading() changed order of operations

* update to checkout challenge branch

* completed challenge message = clickable url

* remember user is logged in

* setup `BrowserOnly`

* Update yarn.lock

* Update yarn.lock

* merge main into dapps challenge

* Update yarn.lock

* nit: refresh message

* add disconnect button comment; better connection insight

* update contract initialization to use strings

* auto populate url; add resubmit; fix broken invoke

* add setSavedUrl; improve url auto populate

* improve local storage for pubkey

---------

Co-authored-by: Bri <[email protected]>

* seo-editorial-docs (stellar#547)

* SDC UI upgrades (stellar#542)

* Update index.tsx

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

* Merge Development into main (stellar#2)

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Add Dashboard for Dapps challenges (stellar#3)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

* Add Dashboard for Dapps challenges (stellar#3) (stellar#4)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

Co-authored-by: Iryna Telesheva <[email protected]>

* Merge SDC from julian-dev28:main to Stellar:SSDC23 (stellar#541)

* Update index.tsx

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

* Merge Development into main (stellar#2)

* update kv:worker endpoint

* Update index.tsx

* Add Root component, finish-step-button, update styles

* Add library for toast notifications, show milestone notification

* Add class for HttpClient, functions for requests

* Changed backend model, finalize user progress on course

* Add confetti effect on complete button click, refactor

* Remove mocks, use endpoint, fix issues

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Add Dashboard for Dapps challenges (stellar#3) (stellar#4)

* Added dashboard component, styled cards

* Added DashboardHeader, Leaderboard component, tabs, styles

* Added ChallengesList component, updated login logic, tabs

* Refactor existing approach, update models, add filtering

* Add UI folder, add id for switcher and random avatar generating

* Remove old dashboard components, rename util file

* Add dashboard link to dapps sidebar instead of navbar

* Add TODOs, rename component

* Fix issues

Co-authored-by: Iryna Telesheva <[email protected]>

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Update the user workflow for the challenges with CI/CD (stellar#5)

* Update the Crowdfund challenge with pull request validation step info

* Refactor

* Add isPullRequestRequired field handling

* Update text for Crowdfund checkpoint 8

* Make isPullRequestRequired required

* Fix issue with dates

* Merge branch 'main' into SSDC23

* Update challenge-0-crowdfund.mdx

---------

Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>

* Add lp dapp challenge (stellar#543)

* Create challenge-2-liquidity-pool

* update lp dapp challenge

* complete lp-dapp challenge

* nit spelling

* Update challenge-2-liquidity-pool.mdx

* nit spelling

* nit add steps to workflow

* nit update workflow

* update workflow again

* add diff

* edit diff

* more diff editing

* editorial edits

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* Update dapps/dapp-challenges/challenge-2-liquidity-pool.mdx

Co-authored-by: Elliot Voris <[email protected]>

* add reference to earlier step; fix conflict in crowdfund dapp page

* update quickstart version

* small wording change

---------

Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* Sdc mental models: payment dapp upgrades (stellar#641)

* bringing sdc-mental-models branch up to date (stellar#632)

* feat: provide a means of receiving simple feedback from users (stellar#587)

* feat: provide a means of receiving simple feedback from users

Here, we have swizzled (ejected) the `DocItem/Footer` component
from docusaurus, and are inserting our own `ReaderFeedback`
component into it before the rest of the doc footer content.
Also, the `custom.scss` file has been used to style this element
in a consistent manner with the rest of the site.

This is the first step to resolve stellar#586: The user interaction can
now take place. From here, we will work on integrating the custom
events into Google analytics. Ultimately, we will like to implment
this feature into the `stellar-docs` repository, as well.

Refs: stellar#586

* Moving some React state things around

* Including an `alt` tag for the like/dislike buttons

* use the `pageId` for `eventLabel` in the send event

* style: Linting the code

* style: changing inline svg tag to be on newlines, changine filename to `jsx`

* feat: Inserting the `DocItem/Footer` components on `dapps` and `api` pages

* feat: migrating to the GA4 plugin in docusaurus

* Testing with a new ga4 tracking id for preview domain

* add some console statements to test what's happening

* add configuration for test gtag container for this pr preview

* feat: use `gtag` over the deprecated `ga` function

* adding my own test gtag?

* Remove the `gtag` function call, and just register state

* removing the old-style google analytics tag for good

* remove staging tag manager containers in preparation for production

* replace staging ga4 tracking id with production tracking id

* use `@site/static` for feedback button imports, rename file extension

* rpc: rename expirationLedgerSeq to liveUntilLedgerSeq (stellar#625)

* rpc: rename expirationLedgerSeq to liveUntilLedgerSeq

* rpc: rename expiration ledger in openrpc file

---------

Co-authored-by: Elliot Voris <[email protected]>

* Remove docker image hashes (stellar#628)

* remove mentions of specific image hashes in docker commands

* update docker image hash to most recent version on releases page

* Update WASM retrieval tutorial (stellar#627)

* docs: explain the diagnostic events that are emitted in sandbox (stellar#593)

* docs: explain the diagnostic events that are emitted in sandbox

Perhaps this approach is too verbose? I think having the explanation
of what is being seen right there in the tutorial is useful at this
early step in the "getting started" section. A new developer is more
likely to understand what they see, and remember what it is in the
future if we don't try to interrupt their flow at this point by
sending them to another page for some (possibly irrelevant) info.

I may be incorrect there, and I'm happy to hear opinions from others.

Refs: stellar#521

* docs: add a space between two words

* editorial in Update hello-world.mdx

---------

Co-authored-by: Bri Wylde <[email protected]>

* Fix a couple typos in rust-dialect.mdx (stellar#630)

---------

Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>

* Crowdfund dapp copy updates v1

Added in some (minimal) context throughout.
Tidied up a few grammatical/spelling inconsistencies.

* add description and update "ship it" workflow

* update soroban-cli install

* Update challenge-0-crowdfund.mdx

* remove extra vercel link

* Merge branch 'main' into sdc-mental-models

* Add intro to dapps

* nit formatting

* Payment dapp copy updates

Updates to Checkpoints 0-4 of the Payment dapp challenge, including added copy and a few very minor grammatical upgrades.

* add more context

* Merge Payment dapp fix (stellar#643)

* Update latest testnet-compatible JavaScript release versions (stellar#634)

* Update latest testnet-compatible JavaScript release versions

* Add links to release notes for each version

* Upgrade `getLedgerEntries` examples to latest pre-stable releases of the SDKs (stellar#635)

Co-authored-by: Elliot Voris <[email protected]>

* Switch Ubuntu base image to 22.04 from 20.04 (stellar#638)

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>

* Update getting-started for 20.0.0-rc.4.1 cli (stellar#636)

* Updates to setup.mdx

* Add CLI for testnet configuration to Setup

* Updates to hello-world.mdx

Reorder some code snippets to be after the description

* Small edits in storing-data.mdx

* Add high_expiration_watermark argument to bump in incrementor

* Move deploy-to-testnet after hello-world to allow the user to interact with their contract on testnet

* Add Optimizing Builds to hello-world

* Update storing-data to remove sandbox interation

* Add a deploy-incrementor-to-testnet step

* Update position of Create an App

* Apply suggestions from code review

Co-authored-by: Chad Ostrowski <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chad Ostrowski <[email protected]>

* Update create-an-app.mdx

* Fix typo

* Add a mv command for .soroban dir when reorganizing to a multi-contract project

* Apply mdx prettier updates

* Update astro port in create-an-app.mdx

* Apply suggestions from code review

Co-authored-by: Elliot Voris <[email protected]>

* Add .mdx to end of internal markdown links for docusaurus magic

* Make sure there are new lines before and after ::: tags

* Some additional edits/improvements

* Mention that Freighter is available as a firefox add-on

* Update the deploy-incrementor url

* Apply prettier updates

---------

Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>

* docs: change preflight wording to simulate transaction (stellar#585)

* docs: change preflight wording to simulate transaction

A first attempt to resolve stellar#478, there may be more work to be done.
I've used a few different phrases, depending on how the sentence
structure works, perhaps taking some liberties in the process.

I've also left alone the `releases` page for preview releases
older than 11. It seems unnecessary to rewrite the development
history too far into the past.

Refs: stellar#478

* editorial on Update interacting-with-contracts.mdx

* added a couple "the"s Update state-expiration.mdx

* fix wording about ledger entries to be less confusing

* clearing up some other language surrounding footprints

---------

Co-authored-by: Bri Wylde <[email protected]>

* Create data-providers.mdx (stellar#629)

* Create data-providers.mdx

Adding new page for data providers to cover indexers and block explorers

* Update data-providers.mdx

updated explanation text

* style: fixing some markdown styles and formatting

* Adding some more verbose descriptions and links

---------

Co-authored-by: Elliot Voris <[email protected]>

* docs: change sitewide wording from "preview release" to "release candidate" (stellar#639)

* docs: update welcome page "preview release" > "release candidate"

* docs: change "preview release" > "release candidate" on releases page

* update payment challenge; add styles

* add clickable object to localhost:9000 example

* Update challenge-1-payment.mdx

* Squashed commit of the following:

commit b6a1a46df7d2b42b340f1331ec52733bc6216725
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 10:10:12 2023 -0800

    add more context

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: jcx120 <[email protected]>

* format image

* Squashed commit of the following:

commit 308444d93d4f7133107ca499a6d255fe5ae302d4
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 14:55:06 2023 -0800

    update copy

commit ec062702a5a900ff890bf5cc99dfd9b6dbe1915a
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 12:34:07 2023 -0800

    add styles for lp

commit f7bbf2e61a262aa6dd76bed2f43cd26aafce075b
Author: Julian Martinez <[email protected]>
Date:   Wed Nov 8 12:13:49 2023 -0800

    add image styles

* update copy for production deployment

* caution -> tip

* add commas, add soroban-cli install to payment dapp

* fix broken link

* Squashed commit of the following:

commit 7de8a99ec32065376ea4fd2f42a14194cdda6e49
Author: Elliot Voris <[email protected]>
Date:   Thu Nov 9 15:47:49 2023 -0600

    docs: move data providers page out of sdks directory (stellar#645)

commit 55e0a866c6dbbe2b4dd38f38816915d59c962584
Author: Elliot Voris <[email protected]>
Date:   Tue Nov 7 11:40:20 2023 -0600

    docs: change sitewide wording from "preview release" to "release candidate" (stellar#639)

    * docs: update welcome page "preview release" > "release candidate"

    * docs: change "preview release" > "release candidate" on releases page

commit 2ae107280eb4bfee7192e7bdabf704c80ffab43c
Author: jcx120 <[email protected]>
Date:   Tue Nov 7 08:48:50 2023 -0800

    Create data-providers.mdx (stellar#629)

    * Create data-providers.mdx

    Adding new page for data providers to cover indexers and block explorers

    * Update data-providers.mdx

    updated explanation text

    * style: fixing some markdown styles and formatting

    * Adding some more verbose descriptions and links

    ---------

    Co-authored-by: Elliot Voris <[email protected]>

commit 0054011876a8273788a5bf6de16623683c9159d2
Author: Elliot Voris <[email protected]>
Date:   Mon Nov 6 11:00:02 2023 -0600

    docs: change preflight wording to simulate transaction (stellar#585)

    * docs: change preflight wording to simulate transaction

    A first attempt to resolve stellar#478, there may be more work to be done.
    I've used a few different phrases, depending on how the sentence
    structure works, perhaps taking some liberties in the process.

    I've also left alone the `releases` page for preview releases
    older than 11. It seems unnecessary to rewrite the development
    history too far into the past.

    Refs: stellar#478

    * editorial on Update interacting-with-contracts.mdx

    * added a couple "the"s Update state-expiration.mdx

    * fix wording about ledger entries to be less confusing

    * clearing up some other language surrounding footprints

    ---------

    Co-authored-by: Bri Wylde <[email protected]>

commit b9710ea0ea6c4652aea2019504534197195a2b3a
Author: Elizabeth <[email protected]>
Date:   Mon Nov 6 11:59:21 2023 -0500

    Update getting-started for 20.0.0-rc.4.1 cli (stellar#636)

    * Updates to setup.mdx

    * Add CLI for testnet configuration to Setup

    * Updates to hello-world.mdx

    Reorder some code snippets to be after the description

    * Small edits in storing-data.mdx

    * Add high_expiration_watermark argument to bump in incrementor

    * Move deploy-to-testnet after hello-world to allow the user to interact with their contract on testnet

    * Add Optimizing Builds to hello-world

    * Update storing-data to remove sandbox interation

    * Add a deploy-incrementor-to-testnet step

    * Update position of Create an App

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Apply suggestions from code review

    Co-authored-by: Chad Ostrowski <[email protected]>

    * Update create-an-app.mdx

    * Fix typo

    * Add a mv command for .soroban dir when reorganizing to a multi-contract project

    * Apply mdx prettier updates

    * Update astro port in create-an-app.mdx

    * Apply suggestions from code review

    Co-authored-by: Elliot Voris <[email protected]>

    * Add .mdx to end of internal markdown links for docusaurus magic

    * Make sure there are new lines before and after ::: tags

    * Some additional edits/improvements

    * Mention that Freighter is available as a firefox add-on

    * Update the deploy-incrementor url

    * Apply prettier updates

    ---------

    Co-authored-by: Chad Ostrowski <[email protected]>
    Co-authored-by: Elliot Voris <[email protected]>

commit 61054dcad82dbf77c28aa1819ad08b6fa132ad70
Author: Satyam Zode <[email protected]>
Date:   Fri Nov 3 20:26:27 2023 +0530

    Switch Ubuntu base image to 22.04 from 20.04 (stellar#638)

    Signed-off-by: Satyam Zode <[email protected]>
    Co-authored-by: Satyam Zode <[email protected]>

commit d6091131996ab81e42dff57f4bccaad3f5d56b3e
Author: George <[email protected]>
Date:   Thu Nov 2 12:53:52 2023 -0700

    Upgrade `getLedgerEntries` examples to latest pre-stable releases of the SDKs (stellar#635)

    Co-authored-by: Elliot Voris <[email protected]>

commit 228e4bfed691effa58a07b664abfd78b04e6dcd4
Author: George <[email protected]>
Date:   Thu Nov 2 09:18:50 2023 -0700

    Update latest testnet-compatible JavaScript release versions (stellar#634)

    * Update latest testnet-compatible JavaScript release versions

    * Add links to release notes for each version

* add SEO logic

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Bri Wylde <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: jcx120 <[email protected]>

* undo some changes from the docs scavenger hunt (stellar#656)

* clearer Soroban favicon (stellar#662)

* Add oracle dapp challenge (stellar#664)

* add oracle dapp

* update endpoint

* add images

* Update http-client.ts

* update challenge list

* add last checkpoint to oracle dapp

* Update http-client.ts

* update meta tag

* add some items for the rollout (stellar#684)

* Pre mainnet restructure (stellar#644)

* docs: rename "fundamentals and concepts" to "soroban internals"

* docs: remove old "under the hood" section

* docs: add tags to the various tutorials

* docs: move tutorials into one main directory

* fix broken links to old pages

* docs: renaming soroban internals in category file

* docs: remove old "command line reference" category

* docs: add tokens directory, rearrange sidebars

* docs: rearrange migration from evm guide

* docs: remove unused reference/interfaces category

* docs: move "reference" section to "resources"

* docs: move "releases" page up a level

* docs: move FAQ page up one level

* docs: move dev tools into resources directory

* docs: move testnet.mdx to networks.mdx

* docs: rearrange items in resources directory

* docs: collapse various SDK pages into two pages

* docs: move data-providers up one level

* docs: remove some empty categories, move the tutorial template

* docs: add a new getting-started page, reorganize that section

* docs: change sidebar position integers in soroban-internals

* docs: shuffling contract interaction around in soroban-internals

* style: fixing a couple small markdown nits in dapps directory

* docs: fix a broken link

* feat: start to the "guides" page(s)

* style(lint): fixing a small linting error

* remove guides placeholder

* fixing broken links

* work on guides listing. might revert this

* formatting mdx

* docs: fixing a broken link to tutorials

* style: crack at making the tutorials filterable and hidden in the sidebar

* customizing some components for the `/guides` pages and layouts

* rename index page for guides to README

* remove commented configuration option

* remove some console logging in components

* change name of index page in guides sidebar

* remove commented sidebar generation code

* remove comments and add description to sidebar generator

* rename sidebar generator file

* more work on how the 'guides' pages might look.

* docs: adjusting sidebar positions of new getting started pages

* fix some broken links in the getting-started section

* prefer "README.mdx" files where possible

* some more guides placeholder stubs

* docs(guides): More placeholder stubs for guides and categories

* feat: don't display "guides in category" page on `/guides`

* build: check/fix MDX formatting in more directories than just docs

* style: add a larger margin before more category guides

* style: more selectively increase that top margin

* docs(guides): a quick stab at a "publishing" events guide

* docs(guides): first stab at the "publish events" guide

* docs: updating tutorial descriptions

* fix a few broken links

* docs: add note about a tuple with one element

* style: couple link changes and reformats

* move fuzzing tutorial back

* change to README file in contract interactions category

* docs(guides): give a better title for the wasm metadata guide

* fixing some broken markdown links

* fix (another!) broken link

* move the guides back into the main layout of the docs directory

* add placeholder for testnet reset automation stuff

* some initial content for some guides

* markdown formatting and fixing broken links

* moving "resources" back to "reference" to fit the definition better

More like "technical reference" rather than a "reference encyclopedia"

* change some styles of the tutorial list

* removing most category pages

* some more first-drafts of guides

* fixing some category links

* include a period at the end of each tutorial description

* simplify tutorial search box placeholder text

* better description for the tutorials page

* making the pre-commit script executable

* flesh out some of the state archival guides

* first effort for some rpc ledger key guides

* fix some broken links

* add a guide on ingesting events into a db

* first effort at storage type guides

* Some more stubs, marking drafts, and a couple additions

* make not a draft to fix a broken link

* guides category descriptions in README.mdx files

* marking incomplete chain migration docs as drafts

* change some tutorial difficulty levels

* fine-tune the tutorials component styling a bit

* improving some guides organization

* fix linting errors and broken links

* include wrap instructions for native lumens

* fix broken link in contract metadata guide

* final changes to existing guides

* moving developer tools into the main sidebar

* create real redirects instead of just notes

* fix broken links in a dapps challenge page

* fix a redirect syntax error

* fix a tutorials redirect

* Pre mainnet restructure (stellar#644)

* docs: rename "fundamentals and concepts" to "soroban internals"

* docs: remove old "under the hood" section

* docs: add tags to the various tutorials

* docs: move tutorials into one main directory

* fix broken links to old pages

* docs: renaming soroban internals in category file

* docs: remove old "command line reference" category

* docs: add tokens directory, rearrange sidebars

* docs: rearrange migration from evm guide

* docs: remove unused reference/interfaces category

* docs: move "reference" section to "resources"

* docs: move "releases" page up a level

* docs: move FAQ page up one level

* docs: move dev tools into resources directory

* docs: move testnet.mdx to networks.mdx

* docs: rearrange items in resources directory

* docs: collapse various SDK pages into two pages

* docs: move data-providers up one level

* docs: remove some empty categories, move the tutorial template

* docs: add a new getting-started page, reorganize that section

* docs: change sidebar position integers in soroban-internals

* docs: shuffling contract interaction around in soroban-internals

* style: fixing a couple small markdown nits in dapps directory

* docs: fix a broken link

* feat: start to the "guides" page(s)

* style(lint): fixing a small linting error

* remove guides placeholder

* fixing broken links

* work on guides listing. might revert this

* formatting mdx

* docs: fixing a broken link to tutorials

* style: crack at making the tutorials filterable and hidden in the sidebar

* customizing some components for the `/guides` pages and layouts

* rename index page for guides to README

* remove commented configuration option

* remove some console logging in components

* change name of index page in guides sidebar

* remove commented sidebar generation code

* remove comments and add description to sidebar generator

* rename sidebar generator file

* more work on how the 'guides' pages might look.

* docs: adjusting sidebar positions of new getting started pages

* fix some broken links in the getting-started section

* prefer "README.mdx" files where possible

* some more guides placeholder stubs

* docs(guides): More placeholder stubs for guides and categories

* feat: don't display "guides in category" page on `/guides`

* build: check/fix MDX formatting in more directories than just docs

* style: add a larger margin before more category guides

* style: more selectively increase that top margin

* docs(guides): a quick stab at a "publishing" events guide

* docs(guides): first stab at the "publish events" guide

* docs: updating tutorial descriptions

* fix a few broken links

* docs: add note about a tuple with one element

* style: couple link changes and reformats

* move fuzzing tutorial back

* change to README file in contract interactions category

* docs(guides): give a better title for the wasm metadata guide

* fixing some broken markdown links

* fix (another!) broken link

* move the guides back into the main layout of the docs directory

* add placeholder for testnet reset automation stuff

* some initial content for some guides

* markdown formatting and fixing broken links

* moving "resources" back to "reference" to fit the definition better

More like "technical reference" rather than a "reference encyclopedia"

* change some styles of the tutorial list

* removing most category pages

* some more first-drafts of guides

* fixing some category links

* include a period at the end of each tutorial description

* simplify tutorial search box placeholder text

* better description for the tutorials page

* making the pre-commit script executable

* flesh out some of the state archival guides

* first effort for some rpc ledger key guides

* fix some broken links

* add a guide on ingesting events into a db

* first effort at storage type guides

* Some more stubs, marking drafts, and a couple additions

* make not a draft to fix a broken link

* guides category descriptions in README.mdx files

* marking incomplete chain migration docs as drafts

* change some tutorial difficulty levels

* fine-tune the tutorials component styling a bit

* improving some guides organization

* fix linting errors and broken links

* include wrap instructions for native lumens

* fix broken link in contract metadata guide

* final changes to existing guides

* moving developer tools into the main sidebar

* create real redirects instead of just notes

* fix broken links in a dapps challenge page

* fix a redirect syntax error

* fix a tutorials redirect

* docs: make the transaction lifecycle page a draft (stellar#701)

* Fix description of enums supported by contract types (stellar#703)

* Update resource limits and make a new reference page for them (stellar#736)

* add a reference page on resource limits and fees

* remove resource fee/limit tables from "explainer" page

* removing some unnecessary comments and entries

Some of the comments are more applicable in the discussion doc,
than they are for developer documentation. So, let's get rid of
those.

* remove unnecessary "current is..." language from resource fees

* [Stellar Merge] Tools Section (stellar#739)

* create redirects for tools and SDKs pages

* adjust some redirect URLs to better reflect new stellar-docs pages

* forgot a semicolon!

* linking to migrated developer tools page

* fine-tuning some redirects

* add a list of "already migrated" stuff to the sidebar

* remove SDKs content that's being migrated

* fix the resulting broken links

* Revert "remove SDKs content that's being migrated"

This reverts commit 6dd2a28a8f124e876607a9bf30894a420ea6eb08.

* Revert "linking to migrated developer tools page"

This reverts commit fc2340818a08c42fc1f13f6a49d97111610c9100.

* try this method of turning docs into external links

* include soroban-cli page in the tools migration

* change cli links to developer docs

* use by-name params in pagination example (stellar#743)

Refs: stellar#728

* [Stellar Merge] Tools Section (stellar#739)

* create redirects for tools and SDKs pages

* adjust some redirect URLs to better reflect new stellar-docs pages

* forgot a semicolon!

* linking to migrated developer tools page

* fine-tuning some redirects

* add a list of "already migrated" stuff to the sidebar

* remove SDKs content that's being migrated

* fix the resulting broken links

* Revert "remove SDKs content that's being migrated"

This reverts commit 6dd2a28a8f124e876607a9bf30894a420ea6eb08.

* Revert "linking to migrated developer tools page"

This reverts commit fc2340818a08c42fc1f13f6a49d97111610c9100.

* try this method of turning docs into external links

* include soroban-cli page in the tools migration

* change cli links to developer docs

* use by-name params in pagination example (stellar#743)

Refs: stellar#728

* Update fee page, close stellar#710 (stellar#745)

* Update fee page, close stellar#710

* Apply suggestions from code review

Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>

---------

Co-authored-by: Jane Wang <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>

* Update fee page, close stellar#710 (stellar#745)

* Update fee page, close stellar#710

* Apply suggestions from code review

Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>

---------

Co-authored-by: Jane Wang <[email protected]>
Co-authored-by: Elliot Voris <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>

* [Stellar Merge] Redirects for Soroban RPC pages (stellar#757)

* add a redirect for anything under the `/api` route

* change the API navbar item to an external link

* disable the `/api` plugin-content-docs

* fix some broken links

* updating a couple other misc redirects

* add external links to RPC providers and usage instructions

* add some redirects for RPC information docs

* add an admonition to the rpc usage page

* move some directories into a "learn" directory

* more README.mdx files

* update sidebars

* add a "Learn" item to the top navbar

* fix a boat-load of broken links

* add whitespace back to list of operations

* add more linebreak spaces

* initial nginx redirects

* Add Java SDK Example. (stellar#765)

* Add Java SDK Example.

* Enable Java code highlights.

* use a README file in the stellar data structures section

* pull in changes for soroban-internals section

* use a README file in soroban-internals section

* move the soroban env diagram file location

* fix broken links in soroban internals pages

* run soroban internals pages through linter

* use a README file in soroban types category

* use README for contract interactions section

* move migrate docs into learn directory

* use a README document for the migration section

* fixup some broken links in the migration section

* fix a couple more broken links

* quick placeholders for sq and fca00c, we'll want better copy probably

* try to capture any anchor URLs used in the glossary

* update existing redirects for new learn section

* fix muxed accounts redirect

* better README files in chain migration categories

* rename "soroban-internals" to "smart contract internals"

* fix broken links

* fix canonical links in smart-contract-internals directory

* change title of Smart Contracts Internals category page

* couple tweaks

* capitalization

* fix link

* use `.mdx` links to markdown files in fees encyclopedia page

---------

Signed-off-by: Satyam Zode <[email protected]>
Co-authored-by: Tyler van der Hoeven <[email protected]>
Co-authored-by: Graydon Hoare <[email protected]>
Co-authored-by: Alejo Mendoza <[email protected]>
Co-authored-by: Jesmar Castillo <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Bri <[email protected]>
Co-authored-by: Siddharth Suresh <[email protected]>
Co-authored-by: Leigh McCulloch <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: Iryna Telesheva <[email protected]>
Co-authored-by: nmadadair <[email protected]>
Co-authored-by: Alfonso Acosta <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: Sapo-Dorado <[email protected]>
Co-authored-by: Julian Martinez <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Satyam Zode <[email protected]>
Co-authored-by: Elizabeth <[email protected]>
Co-authored-by: Chad Ostrowski <[email protected]>
Co-authored-by: jcx120 <[email protected]>
Co-authored-by: Jane Wang <[email protected]>
Co-authored-by: Jane Wang <[email protected]>
Co-authored-by: Jun Luo <[email protected]>
Copy link
Contributor

@Shaptic Shaptic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏 👏 👏 this is great work, thank you! Left a first pass of comments below, mostly nits but some bigger things.

```

By leveraging these methods, you can easily convert between native JavaScript values and the `ScVal` format required for interacting with Soroban smart contracts, handle errors effectively, and generate useful documentation or client code based on the contract specification.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A line or two here to distinguish the functionality of ContractSpec vs. the functionality that scValToNative and nativeToScVal provides (with cross-references) would help clarify when/where/why each one should be used.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still applicable


### Conclusion

By following these steps, you can create a contract client and interact with Soroban smart contracts using JavaScript. This guide covered the basics of obtaining the contract specification, creating a contract client, and invoking contract functions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Call to action and/or cross-references on how to keep going from here would be awesome!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Call to action and/or cross-references on how to keep going from here would be awesome!

I wrote a guide on making a terminal user interface using JavaScript that uses one of these so called 'contractSDK's i describe in this doc. I will add a link to it here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ still applies!

@silence48 silence48 requested a review from Shaptic June 18, 2024 20:51
@briwylde08
Copy link
Contributor

Hey @silence48! Want to double-check, have you implemented the changes and is this one ready again?

@silence48
Copy link
Contributor Author

Hey @silence48! Want to double-check, have you implemented the changes and is this one ready again?

The changes have been implemented. However... I regret to say I'm not sure how useful this guide is.

In the SDK we can now instantiate a contract client and it automatically loads and parses the spec.

This guide will still be useful for teaching people more of the underlying mechanisms I guess.

@Shaptic
Copy link
Contributor

Shaptic commented Jun 24, 2024

@silence48 I do still think it's useful for people to gain an understanding of what's going on under the hood! I'll review the new version asap (prob tomorrow morning) 🙏

@@ -4,4 +4,696 @@ hide_table_of_contents: true
draft: true
Copy link
Contributor

@ElliotFriend ElliotFriend Jun 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure you remove this line, when you're ready to "publish." You can also remove the hide_table_of_contents: true line, if you want. For most of the simpler guides, there's not really much gained by having the TOC, but in these more in-depth ones, it could definitely be useful.

Aside: If you do want the TOC displayed on the side of the page, you may get better results by decreasing your indentations by a level or two. Your Guide: Work with ... heading could actually be an h1 (like # Guide: Work with ...), and then Introduction could start the h2 headings (like ## Introduction). I forget exactly what level it is, but docusaurus will only add up to h3 or h4 (I think?) to the TOC by default.

Copy link
Contributor

@Shaptic Shaptic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty close to being ready I think!


#### Introduction

Soroban smart contracts, integral to the Stellar network, utilize detailed contract specifications to define their behavior and interactions. A contract specification outlines the functions, parameters, and events within a smart contract, guiding developers in how to interact with these contracts through JavaScript. This guide will walk you through the process of creating a contract client and invoking smart contracts using JavaScript.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be good to relate this to non-Stellar developers by referencing the Solidity ABI here!

@@ -4,4 +4,696 @@ hide_table_of_contents: true
draft: true
---

You do something...
### Guide: Work with ContractSpecs in JavaScript
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion:

Suggested change
### Guide: Work with ContractSpecs in JavaScript
### Guide: Work with Contract Specifications in JavaScript

```

By leveraging these methods, you can easily convert between native JavaScript values and the `ScVal` format required for interacting with Soroban smart contracts, handle errors effectively, and generate useful documentation or client code based on the contract specification.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still applicable

Comment on lines +124 to +125
import { xdr } from "@stellar/stellar-base";
import { Spec } from "@stellar/stellar-sdk";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can/should grab xdr from the SDK itself

Suggested change
import { xdr } from "@stellar/stellar-base";
import { Spec } from "@stellar/stellar-sdk";
import { xdr, Spec } from "@stellar/stellar-sdk";

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spec needs to be imported from the contract entrypoint:

Suggested change
import { xdr } from "@stellar/stellar-base";
import { Spec } from "@stellar/stellar-sdk";
import { xdr } from "@stellar/stellar-sdk";
import { Spec } from "@stellar/stellar-sdk/contract";

...or used from the contract import:

Suggested change
import { xdr } from "@stellar/stellar-base";
import { Spec } from "@stellar/stellar-sdk";
import { xdr, contract } from "@stellar/stellar-sdk";
// later, can use `contract.Spec` instead of just `Spec`

}
```

There are a few options to get your contract Spec object to work with in javascript. The Spec is constructed from a (xdr.ScSpecEntry)[https://github.com/stellar/js-stellar-base/blob/5efdff0b2a78ed842f7463340b4ff23eb4370635/xdr/curr/Stellar-contract-spec.x#L228]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There are a few options to get your contract Spec object to work with in javascript. The Spec is constructed from a (xdr.ScSpecEntry)[https://github.com/stellar/js-stellar-base/blob/5efdff0b2a78ed842f7463340b4ff23eb4370635/xdr/curr/Stellar-contract-spec.x#L228]
There are a few options to get your contract `Spec` object to work with in JavaScript. The `Spec` is constructed from an (xdr.ScSpecEntry)[https://github.com/stellar/js-stellar-base/blob/5efdff0b2a78ed842f7463340b4ff23eb4370635/xdr/curr/Stellar-contract-spec.x#L228]

node readContractSpec.js mycontract.wasm
```

This will execute the `readContractSpec` function with the `mycontract.wasm` file provided as a command-line argument and output the contract specification to the console. Copy the output for the next step
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of making it a standalone CLI tool, you could just incorporate it into the next step as a code-only step.


#### Step 3: Extract the Contract Spec from Generated Bindings

Inside the generated bindings directory (`testbindings/src/index.ts`)(if you used the generated bindings), you'll find the contract specification. Look for a line that initializes a new `Spec` object, or `ContractSpec`, such as: If you used the easy javascript then just use the output from that!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

easy javascript
?

3: { message: "Insufficient balance" },
4: { message: "Overflow error" },
};
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be good to mention here that I'm pretty sure that this is what the Client does (cc @chadoh?) when you use the bindings!

const operation = this.call("get_balance", ...invokeArgs);
return operation.toXDR("base64");
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this a repeat of the prior section?


### Conclusion

By following these steps, you can create a contract client and interact with Soroban smart contracts using JavaScript. This guide covered the basics of obtaining the contract specification, creating a contract client, and invoking contract functions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ still applies!

@Shaptic Shaptic changed the title Update work-contractspec-js.mdx Add JS usage examples for building and using contract specifications Jun 26, 2024
@briwylde08
Copy link
Contributor

Hi @silence48! I'm going to turn these three PRs in the draft form for now. Let me know if you'd like to close them or maybe we can collaborate to get them across the finish line!

@briwylde08 briwylde08 marked this pull request as draft September 16, 2024 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants