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

[Soroban Merge] Create a "Smart Contracts" section #388

Merged
merged 269 commits into from
Mar 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
269 commits
Select commit Hold shift + click to select a range
601f640
Move Learn and Under-the-Hood to Guides (#39)
leighmcculloch Jul 29, 2022
beaec86
Changes from meeting today (#40)
leighmcculloch Jul 29, 2022
014da67
Expand the create a project section (#41)
leighmcculloch Jul 29, 2022
94bb91c
added category indexes
kalepail Jul 29, 2022
c507621
Merge branch 'main' of https://github.com/stellar/soroban-docs
kalepail Jul 29, 2022
a2427c8
Add title of file to example (#42)
leighmcculloch Jul 29, 2022
38f6f78
Update optimized page (#44)
leighmcculloch Jul 29, 2022
b7251b9
Fix links (#45)
leighmcculloch Jul 29, 2022
ce60587
update first project to create a project
kalepail Jul 29, 2022
875606f
Change "their" to "there"
briwylde08 Jul 29, 2022
ce53403
Changed "environments" to "environment's"
briwylde08 Jul 29, 2022
322adc2
Facilities spelling error
briwylde08 Jul 29, 2022
6d28565
Remove double "the"
briwylde08 Jul 29, 2022
8af8837
Added apostrophe in "project's" for possession
briwylde08 Jul 29, 2022
7ffc153
Fix quick-start example (#53)
sisuresh Jul 29, 2022
6f0fb60
A few tweaks to quick start guide to make it work (#54)
accordeiro Jul 30, 2022
2c6210c
fix cli usage (#55)
sisuresh Jul 30, 2022
8e31f90
Update crate links to use crates.io (#56)
leighmcculloch Jul 30, 2022
c0f2b36
Merge the rustup sections (#57)
leighmcculloch Jul 30, 2022
1dffb79
Fix cli version (#58)
leighmcculloch Jul 30, 2022
84511af
Fix formatting (#59)
leighmcculloch Jul 30, 2022
0941913
Variety of small fixes (#65)
leighmcculloch Aug 1, 2022
56d52db
Add warning for hyphenated project names (#67)
fsodano Aug 1, 2022
3cf4ce3
Correct few typos in examples and tutorials (#83)
C0x41lch0x41 Aug 26, 2022
6df6682
Update sdk and cli versions and output (#87)
leighmcculloch Aug 30, 2022
de8656a
Update code samples in quickstart (#88)
leighmcculloch Aug 30, 2022
bf92b14
empty
leighmcculloch Aug 30, 2022
5030d1b
Update the tutorial for creating a project (#89)
leighmcculloch Aug 30, 2022
4d0c214
Update the tutorial for writing a contract (#90)
leighmcculloch Aug 30, 2022
3d72944
Update the tutorial for testing (#91)
leighmcculloch Aug 30, 2022
1dc5499
Put auth example earlier in list of examples (#96)
leighmcculloch Aug 31, 2022
159da95
Revert "Put auth example earlier in list of examples (#96)" (#97)
leighmcculloch Aug 31, 2022
ee9e03f
Add auth sdk page (#108)
leighmcculloch Sep 2, 2022
70f5bdf
Revert "Add auth sdk page (#108)" (#109)
leighmcculloch Sep 2, 2022
ea132ac
Merge pull request #85 from stellar/dev
leighmcculloch Sep 2, 2022
7b9745a
Add rust-src component install to build optimized tutorial (#117)
leighmcculloch Sep 13, 2022
c7984f6
ran a linter on the docs
kalepail Sep 13, 2022
42f53d1
build optimized: fix admonitions (#118)
tomerweller Sep 13, 2022
59853b3
fix admonitions (#121)
tomerweller Sep 13, 2022
7f72671
Revert "fix admonitions (#121)"
kalepail Sep 13, 2022
42fb055
Revert "build optimized: fix admonitions (#118)"
kalepail Sep 13, 2022
d7398f2
Revert "ran a linter on the docs"
kalepail Sep 13, 2022
a9f61bc
Rename soroban-cli to soroban
leighmcculloch Oct 4, 2022
2f4a60f
Add deployer example (#138)
leighmcculloch Oct 5, 2022
e2eb27b
Revert "Add deployer example (#138)" (#139)
leighmcculloch Oct 5, 2022
b5db45d
Add logging example (#148)
leighmcculloch Oct 6, 2022
f392064
Update examples (#150)
leighmcculloch Oct 6, 2022
379e375
Fix soroban-cli links (#152)
leighmcculloch Oct 6, 2022
d99c04c
Fix soroban-cli links (#155)
leighmcculloch Oct 6, 2022
2534f98
Merge branch 'main' into dev
kalepail Oct 7, 2022
537b7a6
Add `mod test;` to lib.rs and use `first_project` (#160)
nano-o Oct 7, 2022
488474c
Merge branch 'main' into dev
leighmcculloch Oct 7, 2022
2f0a784
Add run in pages (#179)
leighmcculloch Oct 9, 2022
3533691
Tweaks to run on local network page
leighmcculloch Oct 9, 2022
f86efcc
Move the FAQ to the top level (#182)
leighmcculloch Oct 9, 2022
f801c2d
Add vscode links (#184)
leighmcculloch Oct 9, 2022
71a30f1
Update versions of sdks and tools (#185)
leighmcculloch Oct 9, 2022
cdaa4c1
Remove out-dated recommendation about testutils feature (#187)
leighmcculloch Oct 9, 2022
e5c8d81
Tweak recommendation
leighmcculloch Oct 9, 2022
b7a4854
Add details about building with logs to project setup (#188)
leighmcculloch Oct 9, 2022
6b0b019
Update the links for reporting issues (#189)
leighmcculloch Oct 9, 2022
2c2d793
Move the optimized build instructions inside the build page to shorte…
leighmcculloch Oct 9, 2022
2c31c05
Update soroban-cli version (#192)
leighmcculloch Oct 10, 2022
10aed86
Fix broken links (#195)
leighmcculloch Oct 11, 2022
d3a8e69
Fix a typo
leighmcculloch Oct 11, 2022
2b9d80c
Update for built-in token docs (#193)
dmkozh Oct 11, 2022
deba6d1
Fix typo
leighmcculloch Oct 11, 2022
bb44fb7
Fix typos in command examples
leighmcculloch Oct 11, 2022
e494adf
Update soroban-cli to v0.1.2 (#196)
leighmcculloch Oct 11, 2022
8c7c4bc
Tweaks to pages
leighmcculloch Oct 11, 2022
0f54d2f
Fixes to examples and docs (#199)
leighmcculloch Oct 11, 2022
81f7315
Move Build Optimized out of details section (#202)
tomerweller Oct 12, 2022
2a1b612
fix broken link in setup.mdx (#204)
rice2000 Oct 17, 2022
d9d1e50
Make it clearer that optimization is unnecessary (#205)
leighmcculloch Oct 20, 2022
840e717
Remove recommendation to use the rlib crate type (#212)
leighmcculloch Oct 29, 2022
5ae7adf
Remove recommendation to use the rlib crate type (#212)
leighmcculloch Oct 29, 2022
c12f4ab
Fix typo (#213)
leighmcculloch Nov 1, 2022
3ea1ca7
Update Examples, SDK and CLI v0.2.1
leighmcculloch Nov 11, 2022
48b7303
Pin docker image
leighmcculloch Nov 11, 2022
52363fd
Update Examples, SDK and CLI v0.2.1, and Quickstart Image (#221)
leighmcculloch Nov 11, 2022
668ccff
Fix typos (#222)
waldmatias Nov 13, 2022
3f539cb
add quotes around curl argument (#224)
chadoh Nov 16, 2022
c883784
quote curl argument for zsh & maybe other shells (#226)
chadoh Nov 16, 2022
82097f9
Merge branch 'main' into dev
leighmcculloch Dec 2, 2022
1def2bd
Update version of SDK (#236)
leighmcculloch Dec 3, 2022
a0b6c3b
Remove BigInt and replace with i128 (#237)
leighmcculloch Dec 3, 2022
6a82926
Update soroban-cli to v0.3.1 (#239)
leighmcculloch Dec 6, 2022
a965dfa
Next Release Dev Branch (#231)
leighmcculloch Dec 6, 2022
2548722
add instructions on how to Sign Transactions with Freighter (#200)
piyalbasu Dec 6, 2022
12e74a0
Reorder the nav bar (#244)
kalepail Dec 7, 2022
e433db3
Update soroban-{sdk, auth, example, cli} versions (#245)
jayz22 Dec 8, 2022
ea4f09f
added [package] entries (#248)
mgaylor Dec 12, 2022
e96dfaf
Updating the futurenet and localnet tutorials with latest quickstart …
ElliotFriend Dec 12, 2022
2f05320
Update Soroban transaction document. (#251)
dmkozh Dec 21, 2022
bd33fbb
Merge branch 'main' into dev-main
sisuresh Jan 4, 2023
b7ea948
Merge pull request #255 from sisuresh/dev-main
sisuresh Jan 4, 2023
3e3de2a
Update outdated token terminology
sisuresh Jan 6, 2023
88cae60
Merge pull request #261 from sisuresh/fix-token-terminology
sisuresh Jan 6, 2023
cee975f
Update various sdk, auth, examples versions from 0.3.2 to 0.4.2
jayz22 Jan 9, 2023
4f02e90
Merge pull request #264 from sisuresh/dev-into-main
sisuresh Jan 9, 2023
045533b
Merge pull request #265 from jayz22/dev
sisuresh Jan 9, 2023
3f07506
Merge branch 'dev' into update-main
sisuresh Jan 9, 2023
3467eaa
Merge pull request #266 from sisuresh/update-main
sisuresh Jan 9, 2023
2084cbb
fix doc
tsachiherman Jan 9, 2023
aa9783f
fix doc (#268)
tsachiherman Jan 9, 2023
13cb683
Merge branch 'main' of https://github.com/stellar/soroban-docs
tsachiherman Jan 11, 2023
f7b5d28
Support arm64 images in docs for quickstart (#274)
leighmcculloch Jan 17, 2023
a7e6c5b
update all admonitions such that prettier doesn't yell
kalepail Feb 3, 2023
b2643e7
Lots of formatting
kalepail Feb 3, 2023
b28dfa7
Reorg (#290)
kalepail Feb 7, 2023
f3735f9
Update setup.mdx (#279)
lmorgan824 Feb 8, 2023
1c75078
Including a hyphen in `how-to-guides` directory (#298)
ElliotFriend Feb 9, 2023
78b867d
Update hello-world.mdx (#304)
briwylde08 Feb 9, 2023
2a99826
Merge branch 'main' of https://github.com/stellar/soroban-docs
tsachiherman Feb 15, 2023
ab5d1e8
update setup instructions.
tsachiherman Feb 15, 2023
f31a71f
Merge dev docs to main (#316)
dmkozh Feb 15, 2023
9c652ad
Merge branch 'main' into tsachi/update0.6.0
tsachiherman Feb 15, 2023
4d10cfb
Merge pull request #313 from tsachiherman/tsachi/update0.6.0
tsachiherman Feb 15, 2023
55d2777
Use soroban-sdk the lasted version `0.6.0` in hello world example (#326)
damingerdai Feb 21, 2023
064364c
Combine Hello World sections (#345)
briwylde08 Mar 15, 2023
4ba8f1d
Clean up page descriptions in category indexes (#348)
brson Mar 23, 2023
50e281a
Update symbol functions and some related docs.
dmkozh Mar 23, 2023
f2458c1
bump examples to 0.7.0
sisuresh Apr 3, 2023
0c44040
Update setup with 0.7.0 (#364)
kalepail Apr 5, 2023
c88cb41
Pin docker images to release version (#365)
leighmcculloch Apr 5, 2023
eb38b99
Update the cli docs for preview 8 release (#371)
paulbellamy Apr 7, 2023
64b43ae
Update deploy-to-futurenet to use public rpc (#372)
tomerweller Apr 7, 2023
588a29c
Create Run an RPC
jcx120 Apr 7, 2023
2c47ec9
Rename Run an RPC to run-rpc
jcx120 Apr 7, 2023
8c9f4d1
Rename run-rpc to run-rpc.mdx
jcx120 Apr 7, 2023
a52abff
Update run-rpc.mdx
jcx120 Apr 7, 2023
50f87db
Update run-rpc.mdx
jcx120 Apr 7, 2023
c036b91
Update run-rpc.mdx
jcx120 Apr 7, 2023
52158cf
Update run-rpc.mdx
jcx120 Apr 7, 2023
521b41d
Update run-rpc.mdx
jcx120 Apr 7, 2023
13a4a7b
Update run-rpc.mdx
jcx120 Apr 7, 2023
ca7065a
Update run-rpc.mdx
jcx120 Apr 7, 2023
d888d80
Update run-rpc.mdx
jcx120 Apr 7, 2023
f573e1f
Update run-rpc.mdx
jcx120 Apr 7, 2023
171d402
Update run-rpc.mdx
jcx120 Apr 7, 2023
008db85
Update run-rpc.mdx
jcx120 Apr 7, 2023
56aa534
Update run-rpc.mdx
jcx120 Apr 7, 2023
c9f357e
Update run-rpc.mdx
jcx120 Apr 7, 2023
7c0288b
Update run-rpc.mdx
jcx120 Apr 7, 2023
994733a
Update run-rpc.mdx
jcx120 Apr 7, 2023
6968715
Update run-rpc.mdx
jcx120 Apr 7, 2023
7860f71
Update run-rpc.mdx
jcx120 Apr 7, 2023
9ef899d
Update run-rpc.mdx
jcx120 Apr 7, 2023
1804cca
unbork docs (#377)
tomerweller Apr 11, 2023
ad85eef
a Removed symbol from soroban-sdk imports (#380)
anupsdf Apr 12, 2023
8cdb0fc
Fix rpc-url for Futurenet deployment (#383)
anupsdf Apr 13, 2023
36409f4
Anup doc updates (#378)
briwylde08 Apr 14, 2023
ba5fae2
Update run-rpc.mdx (#386)
jcx120 Apr 17, 2023
790e713
add Freighter instructions (#390)
piyalbasu Apr 18, 2023
1a5ad89
edition version (#393)
Julian-dev28 Apr 24, 2023
83ac2bb
fixes malformed hello world link (#412)
Julian-dev28 May 5, 2023
67e3097
Release preview 9 (#447)
Julian-dev28 May 24, 2023
585f1b8
update quickstart hash (#456)
Julian-dev28 May 25, 2023
2fe21d2
updates quickstart versions (#459)
Julian-dev28 May 26, 2023
7cc4342
Evm to Soroban (#409)
Julian-dev28 May 30, 2023
ef47194
copy edits (#467)
briwylde08 Jun 12, 2023
3ed263f
docs reorg 2.0 (#474)
briwylde08 Jun 20, 2023
ebb4d1b
Move invoking contracts with Stellar transactions (#488)
briwylde08 Jul 6, 2023
b0f67d4
Update hello-world.mdx (#490)
kalepail Jul 7, 2023
8e2f741
Release Preview 10 (#480)
leighmcculloch Jul 13, 2023
3ca50c0
Update setup.mdx (#495)
Julian-dev28 Jul 14, 2023
c08d677
fix versions (#497)
sisuresh Jul 14, 2023
bd89a43
add #[contract] and symbol_short (#498)
Julian-dev28 Jul 14, 2023
ef10d15
fix: move State Expiration to Concepts (#505)
chadoh Jul 20, 2023
ae6461d
fix: move RPC doc out of Getting Started (#504)
chadoh Jul 20, 2023
87681b1
Format (#508)
kalepail Jul 21, 2023
d41f50e
add initial gh action (#507)
kalepail Jul 21, 2023
38a974b
Clean up Getting Started tutorial; add "Deploy to Futurenet" (#516)
chadoh Jul 27, 2023
52ef028
Clean up Getting Started tutorial; add "Deploy to Futurenet" (#516)
chadoh Jul 27, 2023
100744f
Updating `soroban-cli` version and adding bash completion note (#527)
ElliotFriend Jul 31, 2023
2ea51b4
update SEO titles and descriptions (#534)
briwylde08 Aug 10, 2023
892a87a
feat: add "4. Build an App" step to "Getting Started" (#528)
chadoh Sep 5, 2023
f8a6293
Update soroban versions to 20.0.0-rc2 (#574)
Julian-dev28 Sep 20, 2023
4bb2819
More updates to old CLI versions (#575)
ElliotFriend Sep 20, 2023
ddfe79e
Update Futurenet to Testnet Across Documentation (#577)
Julian-dev28 Sep 22, 2023
feadedd
Update Futurenet to Testnet Across Documentation (#577)
Julian-dev28 Sep 22, 2023
6a15d4d
update helloworld to use `project_name` in line with Rust compilation…
sonichen Sep 25, 2023
8dd547a
update release versions and add new Freighter setup directions (#589)
piyalbasu Sep 26, 2023
750a004
adds docs for Freighters signAuthEntry API (#592)
aristidesstaffieri Oct 2, 2023
d554ba6
docs: update sdk version to 20.0.0-rc2 (#601)
SarjuHansaliya Oct 10, 2023
3ee56f8
Create rpc-list.mdx (#606)
jcx120 Oct 18, 2023
963aa21
docs: explain the diagnostic events that are emitted in sandbox (#593)
ElliotFriend Oct 26, 2023
8259996
Update getting-started for 20.0.0-rc.4.1 cli (#636)
elizabethengelman Nov 6, 2023
4d0b7b0
docs: move data providers page out of sdks directory (#645)
ElliotFriend Nov 9, 2023
fb7ecc0
Update getting started tutorial to use an Astro template (#642)
elizabethengelman Nov 27, 2023
65f0c5b
build: a couple small fixes to get the build to work (#657)
ElliotFriend Nov 27, 2023
2a9fdb9
Revert "Update getting started tutorial to use an Astro template (#64…
ElliotFriend Nov 29, 2023
5b549f1
Remove step adding target dir to gitignore (#660)
leighmcculloch Dec 1, 2023
0d744c0
Update soroban-sdk to v20.0.0-rc2.2 (#667)
leighmcculloch Dec 3, 2023
446698b
Remove git init from hello world steps (#666)
leighmcculloch Dec 5, 2023
20014d7
Remove some outdated cautions from the docs, now that Soroban should …
dmkozh Dec 5, 2023
971f914
State archival refactor (#678)
SirTyson Dec 11, 2023
ef988dd
Remove cache `gitignore` from hello-world.mdx (#674)
skaunov Dec 14, 2023
5c77b4f
Add v20.0.0 (#668)
Julian-dev28 Dec 18, 2023
f36c5eb
remove rc2 references (#685)
Julian-dev28 Dec 19, 2023
be7cfcb
Update soroban-cli version in Setup, and other pages. #693 (#694)
matinkaboli Dec 22, 2023
02ce5c7
Update JavaScript SDK references to use the `@stellar/stellar-sdk` pa…
Shaptic Dec 22, 2023
464f9b9
Getting started: update CLI version (#697)
tomerweller Dec 22, 2023
5f48c1b
Add SDK examples alongside XDR structure explanations (#699)
Shaptic Jan 3, 2024
24eb781
Pre mainnet restructure (#644)
ElliotFriend Jan 9, 2024
83e8e49
Pre mainnet restructure (#644)
ElliotFriend Jan 9, 2024
5d01452
Pre mainnet restructure (#644)
ElliotFriend Jan 9, 2024
6ba3fed
Update maximum contract size limit in the `Getting Started` tutorial …
masonforest Jan 31, 2024
7999a4b
Refactor wrap/deploy of SAC (#718)
tupui Feb 20, 2024
700bad7
Refactor deprecated calls to `soroban config` (#731)
tupui Feb 20, 2024
5c0cbf4
[Do Not Merge] Updates pending vote (#729)
ElliotFriend Feb 20, 2024
ec28456
[Stellar Merge] Tools Section (#739)
ElliotFriend Feb 23, 2024
5516b8d
Update the community RPC list (#744)
janewang Feb 26, 2024
3287d59
update soroban-cli version in getting started: 20.3.0 (#749)
tomerweller Feb 26, 2024
96a94a1
Update soroban cli version to the latest (#755)
janewang Feb 28, 2024
5374f96
Remove version from soroban-cli install instruction (#758)
leighmcculloch Mar 1, 2024
fd8cc58
Update outdated code. (#759)
overcat Mar 1, 2024
d608c78
Use `soroban contract init` command in getting started tutorial (#730)
elizabethengelman Mar 12, 2024
85ed80c
Update errors example to use the latest cli. (#768)
fnando Mar 12, 2024
c505d71
Clean up the stellar asset contract overview (#771)
leighmcculloch Mar 14, 2024
a24f07b
move content into "smart-contracts" directory
ElliotFriend Mar 25, 2024
4bd4708
Merge remote-tracking branch 'merge-subset/main' into soroban-merge/s…
ElliotFriend Mar 25, 2024
e25678b
initial import of "Smart Contracts" section content
ElliotFriend Mar 25, 2024
aae8a0b
Merge remote-tracking branch 'merge-subset/main' into soroban-merge/s…
ElliotFriend Mar 25, 2024
58d76ca
first batch of fixed links
ElliotFriend Mar 25, 2024
583ffe0
fix some more broken links
ElliotFriend Mar 25, 2024
bbe12ef
format and lint markdown
ElliotFriend Mar 25, 2024
ed0767b
Merge remote-tracking branch 'merge-subset/main' into soroban-merge/s…
ElliotFriend Mar 25, 2024
a8ec9f8
display DocCards on all "Guides" pages
ElliotFriend Mar 25, 2024
d061581
change "tutorials" to "example contracts"
ElliotFriend Mar 26, 2024
fe79f0e
fix some "tutorials" -> "example-contracts" broken links
ElliotFriend Mar 26, 2024
2d11e5b
use README.mdx files in smart contracts section
ElliotFriend Mar 26, 2024
f55406d
break "freighter" page into a few different guides
ElliotFriend Mar 26, 2024
4bcbd35
change a link to a freighter guide
ElliotFriend Mar 26, 2024
67dfd2b
markdown linting
ElliotFriend Mar 26, 2024
483cc13
fix a broken link
ElliotFriend Mar 26, 2024
75a434f
change a freighter link
ElliotFriend Mar 26, 2024
c1c646f
remove unnecessary (and wrong) canonical url meta tags
ElliotFriend Mar 26, 2024
586e6a5
simplify the hidden "guides" and "example contracts" stuff!
ElliotFriend Mar 26, 2024
ae0b7b7
move FAQ from "smart contracts" into "learn" sub-section
ElliotFriend Mar 26, 2024
583b057
get rid of the old soroban "welcome" page
ElliotFriend Mar 26, 2024
a002b80
update links and pull in latest changes from soroban repo
ElliotFriend Mar 26, 2024
5b2b185
back n forth between issue assets n SAC
briwylde08 Mar 27, 2024
c414547
adding a couple build app notifications
briwylde08 Mar 27, 2024
bc6aeab
add meaningful sidebar positions to the example contract pages
ElliotFriend Mar 27, 2024
bf19de1
replace "tutorial" verbiage with "examples" and such
ElliotFriend Mar 27, 2024
3abc243
add badges to denote level to example contracts
ElliotFriend Mar 27, 2024
ee9c729
Merge branch 'soroban-merge/smart-contracts' of github.com:stellar/st…
ElliotFriend Mar 27, 2024
9ff036b
let's do away with the difficulty, filtering, etc.
ElliotFriend Mar 27, 2024
03f54de
Merge branch 'main' into soroban-merge/smart-contracts
ElliotFriend Mar 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 10

:::note

This tutorial walks through how to build an application with the [`js-stellar-sdk`], to build with the Wallet SDK, please follow the [Build a Wallet tutorial](../wallet/overview).
This tutorial walks through how to build an application with the [`js-stellar-sdk`], to build with the Wallet SDK, please follow the [Build a Wallet tutorial](../wallet/overview). To build with smart contracts, navigate to the [Smart Contracts section](../../smart-contracts/getting-started/setup.mdx).

:::

Expand Down
14 changes: 6 additions & 8 deletions docs/building-apps/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ title: Overview
sidebar_position: 0
---

:::note

This section details how to build applications without smart contracts. Navigate to the [Smart Contracts section](../smart-contracts/getting-started/setup.mdx) to learn about writing contracts on Stellar.

:::

Stellar is an open-source distributed ledger that you can use as a backend to power various applications and services, such as wallets, payment apps, currency exchanges, micropayment services, platforms for in-game purchases, and more — check out projects being built on Stellar: [Stellar Ecosystem Projects](https://stellar.org/ecosystem/projects#Projects).

Stellar has built-in logic for key storage, creating accounts, signing transactions, tracking balances, and queries to the Stellar database, and anyone can use the network to issue, store, transfer, and trade assets.
Expand All @@ -18,11 +24,3 @@ Many Stellar assets connect to real-world currencies, and Stellar has open proto
Stellar-based products and services interoperate by implementing various Stellar Ecosystem Proposals (SEPs), which are publicly created, open-source documents that live in a [GitHub repository](https://github.com/stellar/stellar-protocol/tree/master/ecosystem#stellar-ecosystem-proposals-seps) and define how asset issuers, anchors, wallets, and other service providers interact with each other.

As a wallet, the most important SEPs are [SEP-24: Hosted Deposit and Withdrawal](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md), and [SEP-31: Cross Border Payments API](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0024.md), [SEP-10: Stellar Authentication](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0010.md), [SEP-12: KYC API](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0012.md), and [SEP-38: Anchor RFQ API](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0038.md).

**This documentation will walk you through how to build wallets using the Wallet SDK (Kotlin and Typescript are currently supported) and how to build a comprehensive basic payment application.**

:::info

This documentation is a work in progress and more will be added as it is created.

:::
4 changes: 2 additions & 2 deletions docs/building-apps/wallet/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import Header from "./component/header.mdx";

In this guide we will use the Wallet SDK to integrate with the Stellar blockchain and connect to anchors.

:::info
:::note

This documentation is a work in progress and more will be added as it is created.
This documentation walks you through how to build a wallet without smart contracts. To build with smart contracts, navigate to the [Smart Contracts section](../../smart-contracts/getting-started/setup.mdx).

:::
2 changes: 2 additions & 0 deletions docs/issuing-assets/anatomy-of-an-asset.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Issuing assets is a core feature of Stellar: any asset can be tokenized (or mint

Issuing an asset on Stellar is easy and only takes a few operations. However, there are additional considerations you may need to think about depending on your use case, such as publishing asset information, compliance, and asset supply, which we’ll cover in this documentation. Assets on Stellar have two identifying characteristics: the asset code and the issuer. Since more than one organization can issue a credit representing the same asset, asset codes often overlap (for example, multiple companies offer a USD token on Stellar). Assets are uniquely identified by the combination of their asset code and issuer.

Assets issued on the Stellar network are accessible to smart contracts. Every Stellar asset has reserved a [Stellar Asset Contract](../smart-contracts/tokens/stellar-asset-contract.mdx) that can be deployed by anyone who wants to be able to interact with the asset from a contract.

## Stablecoins

One major category of assets is the stablecoin. A stablecoin is a blockchain-based token whose value is tied to another asset, such as the US dollar, other fiat currencies, commodities like gold, or even cryptocurrencies. There are two types of stablecoin: 1) reserve-backed stablecoins that must have a mechanism for redeeming the asset backing them, and 2) algorithmic stablecoins that don’t have assets backing them and instead rely on an algorithm to control the stablecoin supply. When discussing stablecoins, our documentation will focus on reserve-backed stablecoins.
Expand Down
6 changes: 6 additions & 0 deletions docs/issuing-assets/how-to-issue-an-asset.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ import { Alert } from "@site/src/components/Alert";

In this tutorial, we will walk through the steps to issue an asset on the Stellar test network.

:::note

If you'd like to interact with an asset issued on the Stellar network in smart contracts, you can create or deploy the [Stellar Asset Contract](../smart-contracts/tokens/stellar-asset-contract.mdx) for that asset.

:::

## Prerequisites

You must ensure you have the required amount of XLM to create your issuing and distribution accounts and cover the minimum balance and transaction fees. If you’re issuing an asset on the testnet, you can fund your account by getting test XLM from friendbot. If you’re issuing an asset in production, you will need to acquire XLM from another wallet or exchange.
Expand Down
2 changes: 1 addition & 1 deletion docs/learn/glossary.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ Flags control access to an asset on the account level. Learn more about flags in

An automated test that rapidly stuffs massive amounts of randomized, malformed data into a system to reveal adverse or unexpected results that indicate vulnerabilities.

Read more in the [Fuzz Testing Tutorial](https://soroban.stellar.org/docs/tutorials/fuzzing).
Read more in the [Fuzz Testing Tutorial](../smart-contracts/example-contracts/fuzzing.mdx).

### GitHub

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ impl AllocContract {

In this example, the `alloc` crate is imported into the smart contract using the `extern crate alloc;` statement. The `alloc` crate is then used to create a temporary vector that holds values from 0 to `count`. The values in the vector are then summed and returned.

For more details on how to use the `alloc` crate, including a hands-on practical exercise, visit the [alloc section](https://soroban.stellar.org/docs/tutorials/alloc#how-it-works) of the documentation.
For more details on how to use the `alloc` crate, including a hands-on practical exercise, visit the [alloc example contract](../../../smart-contracts/example-contracts/alloc.mdx#how-it-works).

#### Inheriting Functionality from Other Crates

Expand Down
12 changes: 6 additions & 6 deletions docs/learn/smart-contract-internals/authorization.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,15 @@ From the contract perspective `Address` is an opaque identifier type. The contra

Both functions ensure that the `Address` has authorized the call of the current function within the current context (where context is defined by `require_auth` calls in the current call stack; see more formal definition in the [section below](#require_auth-implementation-details)). The authentication rules for this authorization are defined by the `Address` and are enforced by the Soroban host. Replay protection is also implemented in the host, i.e., there is normally no need for a contract to manage its own nonces.

[auth example]: https://soroban.stellar.org/docs/tutorials/auth
[auth example]: ../../smart-contracts/example-contracts/auth.mdx

#### Authorizing Sub-contract Calls

One of the key features of Soroban Authorization Framework is the ability to easily make authorized sub-contract calls. For example, it is possible for a contract to call `require_auth` for an `Address` and then call `token.xfer` authorized for the same `Address` (see [timelock example] that demonstrates this pattern).

Contracts don't need to do anything special to benefit from this feature. Just calling a sub-contract that calls `require_auth` will ensure that the sub-contract call has been properly authorized.

[timelock example]: https://soroban.stellar.org/docs/tutorials/timelock
[timelock example]: ../../smart-contracts/example-contracts/timelock.mdx

#### When to `require_auth`

Expand All @@ -74,7 +74,7 @@ The main authorization-related decision a contract writer needs to make for any

There is no explicit restriction on how many `Address` entities the contract uses and how many `Address`es have `require_auth` called. That means that it is possible to authorize a contract call on behalf of multiple users, which may even have different authorization contexts (customized via arguments in `require_auth_for_args`). [Atomic swap] is an example that deals with authorization of two `Address`es.

[atomic swap]: https://soroban.stellar.org/docs/tutorials/atomic-swap
[atomic swap]: ../../smart-contracts/example-contracts/atomic-swap.mdx

Note though, that contracts that deal with multiple authorized `Address`es need a bit more complex support on the client side (to collect and attach the proper signatures).

Expand All @@ -90,7 +90,7 @@ Account abstraction provides a convenient extension point for every contract tha

Conceptually, every abstract account is a special contract that defines authentication rules and potentially some additional account-specific authorization policies. However, for the sake of optimization and integration with the existing Stellar accounts, Soroban supports 4 different kinds of the account implementations.

Below are the general descriptions of these implementations. See the transaction [guide](contract-interactions/stellar-transaction.mdx) for the concrete information of how different accounts are represented.
Below are the general descriptions of these implementations. See the transaction [guide](./contract-interactions/stellar-transaction.mdx) for the concrete information of how different accounts are represented.

##### Stellar Account

Expand All @@ -100,7 +100,7 @@ This is a special, built-in 'account contract' that handles all the Stellar acco

This supports the Stellar multisig with medium threshold. See Stellar [documentation] for more details on multisig and thresholds.

[documentation]: https://developers.stellar.org/docs/encyclopedia/signatures-multisig
[documentation]: ../encyclopedia/signatures-multisig.mdx

##### Transaction Invoker

Expand Down Expand Up @@ -128,7 +128,7 @@ Custom account can also be treated as a custodial smart wallet. It holds the use

For the exact interface and more details, see the [custom account example].

[custom account example]: https://soroban.stellar.org/docs/tutorials/custom-account
[custom account example]: ../../smart-contracts/example-contracts/custom-account.mdx

### Advanced Concepts

Expand Down
4 changes: 3 additions & 1 deletion docs/learn/smart-contract-internals/errors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@ One way is error enum types, that are defined by contracts and that map errors t

:::info

The [errors example] demonstrates how to define your own error types. [errors example]: https://soroban.stellar.org/docs/tutorials/errors
The [errors example] demonstrates how to define your own error types.

:::

[errors example]: ../../smart-contracts/example-contracts/errors.mdx

## Error Enums

Errors are a special type of enum integer type that are stored on ledger as `Status` values containing a `u32` code.
Expand Down
2 changes: 1 addition & 1 deletion docs/learn/smart-contract-internals/events.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Events are the mechanism that applications off-chain can use to monitor changes

## How are events emitted?

`ContractEvents` are emitted in Stellar Core's `TransactionMeta`. You can see in the [TransactionMetaV3] XDR below that there is a list of `OperationEvents` called `events`. Each `OperationEvent` corresponds to an operation in a transaction, and itself contains a list of `ContractEvents`. Note that `events` will only be populated if the transaction succeeds. Take a look at [this example](https://soroban.stellar.org/docs/tutorials/events) to learn more about how to emit an event in your contract.
`ContractEvents` are emitted in Stellar Core's `TransactionMeta`. You can see in the [TransactionMetaV3] XDR below that there is a list of `OperationEvents` called `events`. Each `OperationEvent` corresponds to an operation in a transaction, and itself contains a list of `ContractEvents`. Note that `events` will only be populated if the transaction succeeds. Take a look at [this example](../../smart-contracts/example-contracts/events.mdx) to learn more about how to emit an event in your contract.

[transactionmetav3]: #transactionmetav3

Expand Down
54 changes: 54 additions & 0 deletions docs/learn/smart-contract-internals/faq.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
sidebar_position: 170
title: FAQs
description: Frequently asked questions about Soroban on Stellar.
---

<head>
<title>Frequently asked questions about Soroban on Stellar.</title>
<meta charSet="utf-8" />
<meta
property="og:title"
content="Frequently asked questions about Soroban on Stellar."
/>
<meta
property="og:description"
content="Frequently asked questions about Soroban on Stellar."
/>
</head>

### What is Soroban to Stellar? Is it a new blockchain?

Soroban is not a new blockchain. Soroban is a smart contract platform that is integrated into the existing Stellar blockchain. It is an _additive_ feature that lives alongside, and doesn't replace, the existing set of Stellar operations.

### How do I invoke a Soroban contract on Stellar?

A Soroban contract can be invoked by submitting a transaction that contains the new operation: `InvokeHostFunctionOp`.

### Can Soroban contracts use Stellar accounts for authentication?

Yes. Stellar accounts are shared with Soroban. Smart contacts have access to Stellar account signer configuration and know the source account that directly invoked them in a transaction. Check out the Auth and Advanced Auth examples for more information.

### Can Soroban contracts interact with Stellar assets?

Yes. Soroban contains a built-in Stellar Asset Contract that is able to interact with classic trustlines. Read more about this [here](../../smart-contracts/tokens/stellar-asset-contract.mdx).

### Do issuers of Stellar assets maintain their authorization over an asset that has been sent to a non-account identifier in Soroban? (AUTH_REQUIRED, AUTH_REVOCABLE, AUTH_CLAWBACK)

Yes. Issuers retain the same level of control on Soroban as they have on Classic. This functionality is accessible through a set of admin functions (clawback, set_auth) on the built-in Stellar Asset Contract.

### Can Soroban contracts interact with any other Stellar operations?

No. Aside from the interactions with accounts and assets as mentioned above. This means that Soroban contracts can not interact with SDEX, AMMs, Claimable Balances, or Sponsorships.

### Does the Stellar base reserve apply to Soroban contracts?

No. Soroban has a different fee structure and ledger entries that are allocated by Soroban contracts do not add to an account's required minimal balance.

### Should I issue my token as a Stellar asset or a custom Soroban token?

We recommend, to the extent possible, issuing tokens as Stellar assets. These tokens will benefit from being interoperable with the existing ecosystem of tools available in the Stellar ecosystem, as well as being more performant because the Stellar Asset Contract is built into the host.

### Haven't found what you're looking for?

Join #soroban on the [Stellar Developer Discord](https://discord.gg/stellardev)
2 changes: 1 addition & 1 deletion docs/learn/smart-contract-internals/types/custom-types.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Custom types are struct, union, and enum types defined by contracts. They are us

The [custom types example] demonstrates how to define your own types.

[custom types example]: https://soroban.stellar.org/docs/tutorials/custom-types
[custom types example]: ../../../smart-contracts/example-contracts/custom-types.mdx

:::

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/software-versions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1255,7 +1255,7 @@ See https://github.com/stellar/soroban-tools/releases v0.7.0 for more details.

### Breaking changes note

This release comes with a revamp of authorization approach that is breaking for most of the contracts that did any sort of auth logic or used tokens. [example](https://soroban.stellar.org/docs/tutorials/auth) and [authorization overview](../learn/smart-contract-internals/authorization.mdx) for more details.
This release comes with a revamp of authorization approach that is breaking for most of the contracts that did any sort of auth logic or used tokens. [example](../smart-contracts/example-contracts/auth.mdx) and [authorization overview](../learn/smart-contract-internals/authorization.mdx) for more details.

### Changelog

Expand Down
16 changes: 16 additions & 0 deletions docs/smart-contracts/example-contracts/README.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Example Contracts
sidebar_position: 30
hide_table_of_contents: true
sidebar_class_name: sidebar-category-items-hidden
---

import DocCardList from "@theme/DocCardList";

The Soroban team has put together a large collection of [example contracts] to demonstrate use of the Soroban smart contracts platform. For many of these example contracts, we've written an accompanying tutorial that will walk you through the example contract and describe a bit more about its design.

The examples listed below are provided in a sequential manner. The first listed example contracts create a solid foundation of concepts that will be required during the later examples. While you are absolutely free to choose, read, and use any of the example contracts you like, please keep in mind that the order you see is intentional.

<DocCardList />

[example contracts]: https://github.com/stellar/soroban-examples
Loading
Loading