Skip to content
Draft
Show file tree
Hide file tree
Changes from 52 commits
Commits
Show all changes
299 commits
Select commit Hold shift + click to select a range
ce8d61e
🔁 Remove adding channel custody
JFWooten4 Oct 7, 2024
7cb4b01
🔁 Clear up last tasks
JFWooten4 Oct 7, 2024
56c608a
🔁 Start state rotation example
JFWooten4 Oct 7, 2024
f83f4ad
🔁 Temporary merge, nonfinal publication
JFWooten4 Oct 11, 2024
1a91082
🔗 Minimum compilation link requirements
JFWooten4 Oct 15, 2024
11555a0
🖌️ Prettier compilation demo fixes
JFWooten4 Oct 15, 2024
d521205
🔁 Clarify base fee, miscellaneous 🤝🏻
JFWooten4 Oct 16, 2024
33f342e
Merge branch 'stellar:main' into refresh-classic-guides
JFWooten4 Oct 17, 2024
09fffca
👽 Translate java to JS
JFWooten4 Oct 19, 2024
03d2199
🔁 Last example java & go
JFWooten4 Oct 22, 2024
1c8851d
Merge branch 'stellar:main' into refresh-classic-guides
JFWooten4 Oct 22, 2024
cb9687a
🔁 Closing example explanation, diagrams
JFWooten4 Oct 22, 2024
06183cc
🔁 Put back `set timeouts`
JFWooten4 Oct 22, 2024
cbe3aca
🔁 Cleanup remaining frame items
JFWooten4 Oct 23, 2024
b45f8b2
🔁 Comment active-tense transitive verbs
JFWooten4 Oct 23, 2024
a73d966
🔁 Finalize the story flow
JFWooten4 Oct 23, 2024
a3c5d64
🔁 Polish off minor syntax
JFWooten4 Oct 23, 2024
eac05da
🔗 Remove depricated community link
JFWooten4 Oct 27, 2024
91b40fd
🔎 Clarify note on trustlines
JFWooten4 Oct 27, 2024
7109cb5
🫴🏽 Finish most cleaning up
JFWooten4 Nov 4, 2024
320de48
Merge branch 'main' into refresh-classic-guides
JFWooten4 Nov 4, 2024
0948700
🔗 Update simplified syntax reference
JFWooten4 Nov 4, 2024
19fbf45
🦞 Clean up final examples
JFWooten4 Nov 4, 2024
75a3ea0
💱 Remove items explicitly moved
JFWooten4 Nov 5, 2024
9bc3c63
💱 Remove duplicate placeholder drafts
JFWooten4 Nov 5, 2024
2a2638c
💱 Sidebar section intro description
JFWooten4 Nov 5, 2024
9d01898
💱 First rewrite run through
JFWooten4 Nov 6, 2024
32455bb
💱 Clean up scaffolding leftovers
JFWooten4 Nov 19, 2024
da7e8a3
💱 Translate starting AMM preamble
JFWooten4 Nov 19, 2024
a5c1874
💱 Capital pool > liquidity pool
JFWooten4 Nov 19, 2024
f8a304f
💱 Translate two AMM steps
JFWooten4 Nov 20, 2024
535b09b
📍 Follow up on this
JFWooten4 Nov 24, 2024
be7abb0
💱 Translate removing AMM liquidity
JFWooten4 Nov 24, 2024
eb18115
💱 Translate Java wrap-up example
JFWooten4 Nov 24, 2024
f871bab
💱 Last legacy, 535b09babed7a2afef37d58250f13ff01c2544fa fix
JFWooten4 Nov 24, 2024
b7f4a07
💱 Clean up go conclusion
JFWooten4 Nov 24, 2024
5492eb3
📌 Simplify starting frame, independence
JFWooten4 Nov 24, 2024
80784d8
💱 Seperate preliminary config, example
JFWooten4 Nov 25, 2024
f1a50e2
🖌️ Update prettier config note
JFWooten4 Nov 26, 2024
a4bdaeb
💱 Optimize, clarify global declarations
JFWooten4 Nov 26, 2024
ddd80c6
Merge branch 'main' into refresh-classic-guides
JFWooten4 Dec 6, 2024
81efcf5
💱 DEX code examples setup
JFWooten4 Dec 8, 2024
c7865bb
💱 Initial sell offer examples
JFWooten4 Dec 8, 2024
1f31ba4
💱 Example resolving limit OB
JFWooten4 Dec 8, 2024
34fb3b0
💱 Pricing point local calculation
JFWooten4 Dec 9, 2024
8417495
💱 Start prepping final flow
JFWooten4 Dec 10, 2024
d6d2335
💱 Continue on the intro
JFWooten4 Dec 11, 2024
2dc7db6
💱 Start of execution chat
JFWooten4 Dec 12, 2024
7f9bdc6
💱 Migrate some ancillary points
JFWooten4 Dec 12, 2024
909911a
💱 Introduce the OB outreach
JFWooten4 Dec 12, 2024
62b35af
💱 Translate pricing calculation examples
JFWooten4 Dec 13, 2024
24e3bb4
🖋 Some primative punctuation upgrades
JFWooten4 Dec 31, 2024
59d3686
💱 Remove elementary explanation diction
JFWooten4 Dec 31, 2024
873423e
Merge branch 'refresh-classic-guides' of https://github.com/JFWooten4…
JFWooten4 Dec 31, 2024
49477f8
🐛 Reinstate space line seperators
JFWooten4 Dec 31, 2024
2cbe9ab
Merge branch 'refresh-classic-guides' of https://github.com/JFWooten4…
JFWooten4 Dec 31, 2024
a7e985b
Merge branch 'main' into refresh-classic-guides
JFWooten4 Jan 17, 2025
25dcb88
✏ Operations as complete(r) sentences
JFWooten4 Jan 17, 2025
fae66ef
📊 Upgrade Dashboard API version
JFWooten4 Jan 31, 2025
babb3ad
Merge branch 'main' into refresh-classic-guides
JFWooten4 Feb 21, 2025
baa3ef0
Merge https://github.com/stellar/stellar-docs into refresh-classic-gu…
JFWooten4 Mar 26, 2025
770fbc9
🐛 git merge extra line
JFWooten4 Mar 26, 2025
66d54a6
💱 First terminus run through
JFWooten4 Mar 27, 2025
f2ef1f4
💱 Second terminus run through
JFWooten4 Apr 2, 2025
a3b7dcd
💱 Small example bug TODOs
JFWooten4 Apr 2, 2025
598fa8b
🐛 compilation bug fixes, hrefs
JFWooten4 Apr 7, 2025
63be545
💱 Add pending relevant backlinks
JFWooten4 Apr 8, 2025
a8e0831
🐛yarn fixes, format checks
JFWooten4 Apr 20, 2025
8976161
🐜 Reformat the operations page
JFWooten4 Apr 20, 2025
24daa5e
💱 narrative done; last technicals
JFWooten4 May 13, 2025
ebf96f4
🤷‍♂️ a lot of prettier-ness
JFWooten4 May 13, 2025
d5ff964
💱 remove rest of politics
JFWooten4 May 14, 2025
2379abf
💱 trim down until SD1545
JFWooten4 May 14, 2025
388e694
💱 subsection for offerID resolution
JFWooten4 May 15, 2025
2342304
🐞 Active tense on index
JFWooten4 May 15, 2025
a2f8847
💱 limited pathfiding explanation for example
JFWooten4 May 28, 2025
2b37b58
💱 Minimumm viable path payments
JFWooten4 May 28, 2025
ffce0c5
💱 setup for solo PP workj
JFWooten4 May 31, 2025
c3933e0
💱 simplify start off PP
JFWooten4 Jun 1, 2025
9bc41c9
💱 PP; simplyifing path diction
JFWooten4 Jun 1, 2025
0510f43
💱 Simply Liquidity Horizon Documentation
JFWooten4 Jun 2, 2025
2fe15af
💱 More context for burning prep
JFWooten4 Jun 9, 2025
1da55ff
🔁 Channel accounts: explain resolutions
Jun 20, 2024
ce6689f
🔁 Channel accounts: simplify narrative
Jun 22, 2024
858060f
🔁 Channel accounts: specify cards
Jun 23, 2024
5ef566e
🔁 Channel accounts: finalize visuals
Jun 23, 2024
f91a561
🔁 Channel accounts: simplify narrative
Jun 26, 2024
e982afc
🔁 Channel accounts: expand details
Jun 26, 2024
56af589
🔁 Channel accounts: hyperlinks, context
JFWooten4 Jul 7, 2024
20f78fe
🔁 Channel accounts: initial diagrams
JFWooten4 Jul 9, 2024
e238cb8
🔁 Channel accounts: reference configuration
Jul 9, 2024
b4bcedc
🔁 Channel accounts: KaTeX formatting
Jul 10, 2024
4c7f4f4
🔁 Channel accounts: context, links
JFWooten4 Jul 10, 2024
2612753
🔁 Channel accounts: conceptual images
JFWooten4 Jul 12, 2024
ccd04c2
🔁 Channel accounts: simplify image
JFWooten4 Jul 12, 2024
6c9122a
🔁 Channel accounts: prioritize readability
Jul 14, 2024
5329520
🔁 Channel accounts: overload example
JFWooten4 Jul 14, 2024
306a5b0
🔁 Channel accounts: configuration example
Jul 15, 2024
76f74f5
🫴🏽 Claimable balances: first example
JFWooten4 Jul 18, 2024
7d960c3
🫴🏽 Claimable balances: second example
Jul 29, 2024
12c058e
🫴🏽 Claimable balances: third example
Jul 29, 2024
e03b03b
🫴🏽 Claimable balances: expand precomputation
Aug 2, 2024
ebf9cf9
🔎 Refresh: asset design considerations
Aug 5, 2024
944885e
🦞 Clawbacks: confer readable diction
Aug 5, 2024
3a96fd0
🦞 Clawbacks: minor example diction
Aug 5, 2024
93ca2fe
🦞 Clawbacks: format account names
Aug 5, 2024
a0aa3db
🦞 Clawbacks: format more names
Aug 5, 2024
09cb907
🦞 Clawbacks: apply name diction
Aug 5, 2024
dcd3de5
🦞 Clawbacks: translate preamble example
Aug 6, 2024
89a1717
🦞 Clawbacks: expand example one
Aug 6, 2024
26b8a3b
🦞 Clawbacks: translate next instances
Aug 6, 2024
c424d28
🦞 Clawbacks: continue example dev
Aug 6, 2024
8649beb
💱 Trading examples: add lumenaut
Aug 8, 2024
175a710
⏬ Prep for GH sync
Aug 12, 2024
3515321
💱 Trading examples: clarify narrative
JFWooten4 Sep 13, 2024
36edfb2
💱 Trading examples: contextualize sources
JFWooten4 Sep 13, 2024
95d20e5
🙌 Missed a reference link
JFWooten4 Sep 13, 2024
77ea7d4
💱 Trading examples: sell offers
JFWooten4 Sep 16, 2024
d572432
💱 Trading examples: level two
JFWooten4 Sep 16, 2024
39069be
💱 Trading examples: time & sales
JFWooten4 Sep 16, 2024
2535889
🔁 Clarify channel context links
JFWooten4 Oct 1, 2024
dc0e3ae
🔁 Further advance text flow
JFWooten4 Oct 4, 2024
3023ab8
🔁 Start last code examples
JFWooten4 Oct 7, 2024
5fe6e23
🔁 Remove random channel generation
JFWooten4 Oct 7, 2024
360be72
🔁 Rest of authorization example
JFWooten4 Oct 7, 2024
5ae7a16
🔁 Remove adding channel custody
JFWooten4 Oct 7, 2024
1d7ed4d
🔁 Clear up last tasks
JFWooten4 Oct 7, 2024
7dff502
🔁 Start state rotation example
JFWooten4 Oct 7, 2024
19d2e51
🔁 Temporary merge, nonfinal publication
JFWooten4 Oct 11, 2024
ab1de20
🔗 Minimum compilation link requirements
JFWooten4 Oct 15, 2024
5e8ecf2
🖌️ Prettier compilation demo fixes
JFWooten4 Oct 15, 2024
d9a82c2
🔁 Clarify base fee, miscellaneous 🤝🏻
JFWooten4 Oct 16, 2024
a856022
👽 Translate java to JS
JFWooten4 Oct 19, 2024
8c363b1
🔁 Last example java & go
JFWooten4 Oct 22, 2024
f8060be
🔁 Closing example explanation, diagrams
JFWooten4 Oct 22, 2024
d26922a
🔁 Put back `set timeouts`
JFWooten4 Oct 22, 2024
f6cd6de
🔁 Cleanup remaining frame items
JFWooten4 Oct 23, 2024
5c813a6
🔁 Comment active-tense transitive verbs
JFWooten4 Oct 23, 2024
5664f97
🔁 Finalize the story flow
JFWooten4 Oct 23, 2024
b19956a
🔁 Polish off minor syntax
JFWooten4 Oct 23, 2024
d3a8019
🔗 Remove depricated community link
JFWooten4 Oct 27, 2024
b8b52f8
🔎 Clarify note on trustlines
JFWooten4 Oct 27, 2024
2ad87b8
🫴🏽 Finish most cleaning up
JFWooten4 Nov 4, 2024
36fb92d
🔗 Update simplified syntax reference
JFWooten4 Nov 4, 2024
6316b03
🦞 Clean up final examples
JFWooten4 Nov 4, 2024
8774600
💱 Remove items explicitly moved
JFWooten4 Nov 5, 2024
48f2bb4
💱 Remove duplicate placeholder drafts
JFWooten4 Nov 5, 2024
c66aa3f
💱 Sidebar section intro description
JFWooten4 Nov 5, 2024
5750f43
💱 First rewrite run through
JFWooten4 Nov 6, 2024
4b00f80
💱 Clean up scaffolding leftovers
JFWooten4 Nov 19, 2024
8137214
💱 Translate starting AMM preamble
JFWooten4 Nov 19, 2024
95ab06c
💱 Capital pool > liquidity pool
JFWooten4 Nov 19, 2024
46fe78f
💱 Translate two AMM steps
JFWooten4 Nov 20, 2024
b863bdf
📍 Follow up on this
JFWooten4 Nov 24, 2024
c2b1cac
💱 Translate removing AMM liquidity
JFWooten4 Nov 24, 2024
eeef13c
💱 Translate Java wrap-up example
JFWooten4 Nov 24, 2024
c2aa855
💱 Last legacy, 535b09babed7a2afef37d58250f13ff01c2544fa fix
JFWooten4 Nov 24, 2024
7a06e12
💱 Clean up go conclusion
JFWooten4 Nov 24, 2024
080f16e
📌 Simplify starting frame, independence
JFWooten4 Nov 24, 2024
bfd425b
💱 Seperate preliminary config, example
JFWooten4 Nov 25, 2024
35866ad
🖌️ Update prettier config note
JFWooten4 Nov 26, 2024
dcbdd52
💱 Optimize, clarify global declarations
JFWooten4 Nov 26, 2024
0e51903
💱 DEX code examples setup
JFWooten4 Dec 8, 2024
570b511
💱 Initial sell offer examples
JFWooten4 Dec 8, 2024
d83acdf
💱 Example resolving limit OB
JFWooten4 Dec 8, 2024
b2f8ffa
💱 Pricing point local calculation
JFWooten4 Dec 9, 2024
2b6cdf4
💱 Start prepping final flow
JFWooten4 Dec 10, 2024
1d8e302
💱 Continue on the intro
JFWooten4 Dec 11, 2024
a306040
💱 Start of execution chat
JFWooten4 Dec 12, 2024
6f66c0a
💱 Migrate some ancillary points
JFWooten4 Dec 12, 2024
3b1697e
💱 Introduce the OB outreach
JFWooten4 Dec 12, 2024
608fd1c
💱 Translate pricing calculation examples
JFWooten4 Dec 13, 2024
b49ee47
🐛 Reinstate space line seperators
JFWooten4 Dec 31, 2024
cd44088
💱 Remove elementary explanation diction
JFWooten4 Dec 31, 2024
92cdba1
🖋 Some primative punctuation upgrades
JFWooten4 Dec 31, 2024
49da8d1
✏ Operations as complete(r) sentences
JFWooten4 Jan 17, 2025
c46e031
📊 Upgrade Dashboard API version
JFWooten4 Jan 31, 2025
590f3c6
💱 First terminus run through
JFWooten4 Mar 27, 2025
6a56ece
💱 Second terminus run through
JFWooten4 Apr 2, 2025
5f4618e
💱 Small example bug TODOs
JFWooten4 Apr 2, 2025
f511818
🐛 compilation bug fixes, hrefs
JFWooten4 Apr 7, 2025
322dafa
💱 Add pending relevant backlinks
JFWooten4 Apr 8, 2025
788a8a0
🐛yarn fixes, format checks
JFWooten4 Apr 20, 2025
f18af8f
🐜 Reformat the operations page
JFWooten4 Apr 20, 2025
7742311
💱 narrative done; last technicals
JFWooten4 May 13, 2025
ffa8d2f
🤷‍♂️ a lot of prettier-ness
JFWooten4 May 13, 2025
987a5c0
💱 remove rest of politics
JFWooten4 May 14, 2025
83a6843
💱 trim down until SD1545
JFWooten4 May 14, 2025
f79b038
💱 subsection for offerID resolution
JFWooten4 May 15, 2025
7a3892b
🐞 Active tense on index
JFWooten4 May 15, 2025
876ac1e
💱 limited pathfiding explanation for example
JFWooten4 May 28, 2025
c5e4c9e
💱 Minimumm viable path payments
JFWooten4 May 28, 2025
6f0ff4f
💱 setup for solo PP workj
JFWooten4 May 31, 2025
35caba6
💱 simplify start off PP
JFWooten4 Jun 1, 2025
29a8450
💱 PP; simplyifing path diction
JFWooten4 Jun 1, 2025
756e630
💱 Simply Liquidity Horizon Documentation
JFWooten4 Jun 2, 2025
6ded3bc
💱 More context for burning prep
JFWooten4 Jun 9, 2025
bbbbab7
🐛 sync commit, compile locally
JFWooten4 Sep 22, 2025
4617740
🤝 Elliot merge branch ← main
JFWooten4 Sep 22, 2025
3840d53
Squashed commit of the following:
JFWooten4 Sep 22, 2025
568ae7a
Merge branch 'refresh-classic-guides' of https://github.com/JFWooten4…
JFWooten4 Sep 22, 2025
12c30da
Merge branch 'refresh-classic-guides' of https://github.com/ElliotFri…
JFWooten4 Sep 22, 2025
6a17991
Merge branch 'ElliotFriend-refresh-classic-guides' into refresh-class…
JFWooten4 Sep 22, 2025
a486cac
Merge remote-tracking branch 'upstream/main' into refresh-classic-guides
JFWooten4 Sep 22, 2025
91cb67c
Merge remote-tracking branch 'upstream/main' into refresh-classic-guides
JFWooten4 Sep 22, 2025
939359f
⚠ Merge without August squash (#11)
JFWooten4 Sep 22, 2025
4aea7d8
Merge remote-tracking branch 'origin/main' into refresh-classic-guides
JFWooten4 Sep 22, 2025
b195255
Merge branch 'refresh-classic-guides' of https://github.com/JFWooten4…
JFWooten4 Sep 22, 2025
9f5de9f
🔗 Channel accounts markdown links
JFWooten4 Sep 22, 2025
b56d937
🔗 Path payments markdown links
JFWooten4 Sep 22, 2025
9e2c07d
🔗 SDEX trading markdown links
JFWooten4 Sep 22, 2025
a74a2f4
🔗 Claimable balance markdown links
JFWooten4 Sep 22, 2025
2fe8d0c
🔗 Transaction operation markdown links
JFWooten4 Sep 22, 2025
ef5960b
🔗 Account, trade markdown links
JFWooten4 Sep 22, 2025
8489c1a
🔗 `Conversion Liquidity` markdown links
JFWooten4 Sep 22, 2025
97c43db
🐜 Compile functioning, module indexing
JFWooten4 Sep 22, 2025
8ea4c4f
🔗 Typos in markdown links
JFWooten4 Sep 22, 2025
12f5092
💱 Picking up last narrative
JFWooten4 Sep 23, 2025
dbc7de7
💱 Frame passive offers, MM
JFWooten4 Sep 23, 2025
a503171
💱 Introducing stable market making
JFWooten4 Sep 23, 2025
ec1be18
💱 Cleanup surrounding item support
JFWooten4 Sep 23, 2025
5dfb1dc
💱 Maintain Horizon for indexing
JFWooten4 Sep 23, 2025
d33f259
💱 Seamless, minimal liquidirtty participants
JFWooten4 Sep 23, 2025
d245602
💱 Reorg `ClaimAtom` response example
JFWooten4 Sep 23, 2025
70a2281
💱 Frame surrounding documentation, polish
JFWooten4 Sep 24, 2025
79364cf
💱 Non-redundant definitions only, style
JFWooten4 Sep 24, 2025
78a2eaf
💱 Spell out keypair references
JFWooten4 Sep 24, 2025
86fa700
💱 Move around completed work
JFWooten4 Sep 24, 2025
06aab7a
💱 Add other supporting media
JFWooten4 Sep 24, 2025
9de3478
💱 Depricate Horizon, API hrefs
JFWooten4 Sep 25, 2025
5cfc0a2
📺 Little presentation visual items
JFWooten4 Sep 25, 2025
c1f251e
💱 Clean up more API-refs
JFWooten4 Sep 26, 2025
27ef341
🐛 Missed lingering ref somehow
JFWooten4 Oct 7, 2025
4989d6b
merge from `main` (origin)
JFWooten4 Dec 15, 2025
33e09b2
local build syntax 1/2
JFWooten4 Dec 15, 2025
04c4ff6
JS translate 2/2
JFWooten4 Dec 17, 2025
ab00f1a
local build syntax 2/2
JFWooten4 Dec 17, 2025
958d97e
back ts norm yarn
JFWooten4 Dec 18, 2025
13d4880
canonical Go SDK
JFWooten4 Dec 18, 2025
6c7f621
fix int'l import compatability
JFWooten4 Dec 18, 2025
e1ee103
merge clawbacks starting diagram
JFWooten4 Dec 18, 2025
356f57b
🤖 (#15)
JFWooten4 Dec 19, 2025
1347d20
remove channel footnote
JFWooten4 Dec 19, 2025
03a38ba
translate migration RPC data calls
JFWooten4 Dec 19, 2025
bc5d772
Merge https://github.com/stellar/stellar-docs into refresh-classic-gu…
JFWooten4 Dec 19, 2025
89cd342
other 2132 cleanup components
JFWooten4 Dec 19, 2025
463874d
Merge https://github.com/stellar/stellar-docs into refresh-classic-gu…
JFWooten4 Jan 27, 2026
61aba47
Merge https://github.com/stellar/stellar-docs into refresh-classic-gu…
JFWooten4 Feb 2, 2026
ec6570a
TSX explicit prop/return types
JFWooten4 Feb 2, 2026
58336e2
fix broken links, imports
JFWooten4 Feb 2, 2026
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
@@ -1,7 +1,7 @@
---
id: retrieve-an-order-book
title: "Retrieve an Order Book"
description: "The order book endpoint provides an order book's bids and asks and can be used in [streaming](https://developers.stellar.org/docs/data/horizon/api-reference/structure/streaming) mode."
description: "The order book endpoint provides an order book's bids and asks and can be used in streaming mode."
sidebar_label: "Retrieve an Order Book"
hide_title: true
hide_table_of_contents: true
Expand Down

Large diffs are not rendered by default.

221 changes: 221 additions & 0 deletions docs/learn/encyclopedia/security/signatures-multisig.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,227 @@ In some cases, a transaction may need more than one signature:

Each additional signer beyond the master key increases the account’s minimum balance by one base reserve. Up to 20 signatures can be attached to one transaction. Once a signature threshold is met, if there are leftover signatures, the transaction will fail. For example, if your transaction requires three signatures, providing more than three signatures, even if they are all valid, will result in a failed transaction error: `TX_BAD_AUTH_EXTRA`. This design is because unnecessary signature verification has a large effect on performance before accepting transactions in consensus.

`example five signers each own auth, collectively cannot change signers`

REQUIRES: server, primaryAccountSecret, &primaryAccount primatives

```python
channelAccPubKeys = [
"GA7WHVWBBUCVKVZ35GM5FVGZXZYJ63EFDB5VTFV2TRF4KLUXWN6CSIJL",
"GD4EITS74V4RN5XOKO42DX2SRR3NI5JVC3LFUWIAVQH2PXBUEKLZU6V3",
"GCEO3FNAOF7VKBRD22JHMT3Q5IVVUPDEICBKZNTKL7KUBOX6EDYYYTG4",
"GAUTAZU2E6VUFOPRDOYAMYQBD7JU3XRLODSKLQL4EXIYUDB22FFPYDJC",
"GBACJWSCHTRILBAPVOYXCVIFGUF7FSHTEKMITBI5ESCEQVEIJ6QFV4P5"
]

primaryPubKey = "GC5AT5GU7WI5NHHRM4XH2ALBOQS5I2MTLNYH5RTEJZC5LWCKVN52SVBV"
primaryAccount = server.load_account(primaryPubKey)

def generateChannelAccounts(primaryPubKey, channelAccPubKeys, primaryAccountSecret):
transactionBuilder = TransactionBuilder(
source_account = primaryAccount,
network_passphrase = Network.TESTNET_NETWORK_PASSPHRASE,
base_fee = 100
)

for channelPubKeys in channelAccPubKeys:
transactionBuilder.append_create_account_op(
destination = channelPubKey,
starting_balance = "4.4"
)

transaction = transactionBuilder.build()
transaction.sign(primarySecretKey)
return server.submit_transaction(transaction)

def authorizeChannelAccounts(primaryPubKey, channelAccPubKeys, primaryAccountSecret):
transactionBuilder = TransactionBuilder(
source_account = primaryAccount,
network_passphrase = Network.TESTNET_NETWORK_PASSPHRASE,
base_fee = 100
)

transactionBuilder.append_set_options_op(
high_threshold = 44,
master_weight = 44,
medium_threshold = 3
)

for channelPubKeys in channelAccPubKeys:
transactionBuilder.append_set_options_op(
signer={
"ed25519PublicKey": channelPubKey,
"weight": 3
}
)
```

```js
const channelAccPubKeys = [
"GA7WHVWBBUCVKVZ35GM5FVGZXZYJ63EFDB5VTFV2TRF4KLUXWN6CSIJL",
"GD4EITS74V4RN5XOKO42DX2SRR3NI5JVC3LFUWIAVQH2PXBUEKLZU6V3",
"GCEO3FNAOF7VKBRD22JHMT3Q5IVVUPDEICBKZNTKL7KUBOX6EDYYYTG4",
"GAUTAZU2E6VUFOPRDOYAMYQBD7JU3XRLODSKLQL4EXIYUDB22FFPYDJC",
"GBACJWSCHTRILBAPVOYXCVIFGUF7FSHTEKMITBI5ESCEQVEIJ6QFV4P5"
];

const primaryPubKey = "GC5AT5GU7WI5NHHRM4XH2ALBOQS5I2MTLNYH5RTEJZC5LWCKVN52SVBV";
const primaryAccount = server.loadAccount(primaryPubKey);

async function generateChannelAccounts(primaryAccountSecret) {
const transactionBuilder = new StellarSdk.TransactionBuilder(primaryAccount, {
fee: StellarSdk.BASE_FEE,
networkPassphrase: StellarSdk.Networks.TESTNET
});

channelAccPubKeys.forEach(channelPubKey => {
transactionBuilder.addOperation(StellarSdk.Operation.createAccount({
destination: channelPubKey,
startingBalance: "4.4"
}));
});

const transaction = transactionBuilder.build();
transaction.sign(primaryKeypair);
const result = await server.submitTransaction(transaction);
}

async function authorizeChannelAccounts(primaryAccountSecret) {
const transactionBuilder = new StellarSdk.TransactionBuilder(primaryAccount, {
fee: StellarSdk.BASE_FEE,
networkPassphrase: StellarSdk.Networks.TESTNET
});

transactionBuilder.addOperation(StellarSdk.Operation.setOptions({
highThreshold: 44,
masterWeight: 44,
mediumThreshold: 3
}));

channelAccPubKeys.forEach(channelPubKey => {
transactionBuilder.addOperation(StellarSdk.Operation.setOptions({
signer: {
ed25519PublicKey: channelPubKey,
weight: 3
}
}));
});
}
```

```java
private static final List<String> channelAccPubKeys = Arrays.asList(
"GA7WHVWBBUCVKVZ35GM5FVGZXZYJ63EFDB5VTFV2TRF4KLUXWN6CSIJL",
"GD4EITS74V4RN5XOKO42DX2SRR3NI5JVC3LFUWIAVQH2PXBUEKLZU6V3",
"GCEO3FNAOF7VKBRD22JHMT3Q5IVVUPDEICBKZNTKL7KUBOX6EDYYYTG4",
"GAUTAZU2E6VUFOPRDOYAMYQBD7JU3XRLODSKLQL4EXIYUDB22FFPYDJC",
"GBACJWSCHTRILBAPVOYXCVIFGUF7FSHTEKMITBI5ESCEQVEIJ6QFV4P5"
);
private static final String primaryPubKey = "GC5AT5GU7WI5NHHRM4XH2ALBOQS5I2MTLNYH5RTEJZC5LWCKVN52SVBV";
private static final AccountResponse primaryAccount = server.accounts().account(primaryPubKey);

public static void generateChannelAccounts(String primaryAccountSecret) throws Exception {
Transaction.Builder transactionBuilder = new Transaction.Builder(primaryAccount, Network.TESTNET)
.setBaseFee(Transaction.MIN_BASE_FEE)

for (String channelPubKeys : channelAccPubKeys) {
transactionBuilder.addOperation(
new CreateAccountOperation.Builder(channelPubKeys, startingBalance).build()
);
}

Transaction transaction = transactionBuilder.build();
transaction.sign(primaryKeypair);

SubmitTransactionResponse response = server.submitTransaction(transaction);
System.out.println("Transaction successful: " + response);
}

public static void authorizeChannelAccounts(String primaryAccountSecret) throws Exception {

Transaction.Builder transactionBuilder = new Transaction.Builder(primaryAccount, Network.TESTNET)
.setBaseFee(Transaction.MIN_BASE_FEE)

transactionBuilder.addOperation(
new SetOptionsOperation.Builder()
.setHighThreshold(44)
.setMasterKeyWeight(44)
.setMediumThreshold(3)
.build()
);

for (String channelPubKeys : channelAccPubKeys) {
transactionBuilder.addOperation(
new SetOptionsOperation.Builder()
.setSigner(new Signer.SignerKeyEd25519(channelPubKeys), 3)
.build()
);
}
}
```

```go
var (
channelAccPubKeys = []string{
"GA7WHVWBBUCVKVZ35GM5FVGZXZYJ63EFDB5VTFV2TRF4KLUXWN6CSIJL",
"GD4EITS74V4RN5XOKO42DX2SRR3NI5JVC3LFUWIAVQH2PXBUEKLZU6V3",
"GCEO3FNAOF7VKBRD22JHMT3Q5IVVUPDEICBKZNTKL7KUBOX6EDYYYTG4",
"GAUTAZU2E6VUFOPRDOYAMYQBD7JU3XRLODSKLQL4EXIYUDB22FFPYDJC",
"GBACJWSCHTRILBAPVOYXCVIFGUF7FSHTEKMITBI5ESCEQVEIJ6QFV4P5",
}
primaryPubKey = "GC5AT5GU7WI5NHHRM4XH2ALBOQS5I2MTLNYH5RTEJZC5LWCKVN52SVBV"
)

func generateChannelAccounts(primaryAccountSecret string) {
tx, err := txnbuild.NewTransaction(
txnbuild.TransactionParams{
SourceAccount: &primaryAccount,
IncrementSequenceNum: true,
BaseFee: txnbuild.MinBaseFee,
Operations: []txnbuild.Operation{},
},
)
check(err)

for _, channelPubKey := range channelAccPubKeys {
createOp := txnbuild.CreateAccount{
Destination: channelPubKey,
Amount: "4.4",
}
tx.Operations = append(tx.Operations, &createOp)
}
}

func authorizeChannelAccounts(primaryAccountSecret string) {
tx, err := txnbuild.NewTransaction(
txnbuild.TransactionParams{
SourceAccount: &primaryAccount,
IncrementSequenceNum: true,
BaseFee: txnbuild.MinBaseFee,
Operations: []txnbuild.Operation{},
},
)
check(err)

setThreshOp := txnbuild.SetOptions{
HighThreshold: txnbuild.NewThreshold(44),
MasterWeight: txnbuild.NewThreshold(44),
MediumThreshold: txnbuild.NewThreshold(3),
}
tx.Operations = append(tx.Operations, &setThreshOp)

for _, channelPubKey := range channelAccPubKeys {
addSignerOp := txnbuild.SetOptions{
Signer: &txnbuild.Signer{
Address: channelPubKey,
Weight: txnbuild.NewThreshold(3)
},
}
tx.Operations = append(tx.Operations, &addSignerOp)
}
}
```

### Alternate signature types

To enable some advanced smart contract features there are a couple of additional signature types. These signature types also have weights and can be added and removed similarly to normal signature types. But rather than check a cryptographic signature for authorization they have a different method of proving validity to the network.
Expand Down
Loading