Skip to content

Commit 76e03ab

Browse files
authored
Merge branch 'master' into xls-18d
2 parents 720a4a9 + b9f312d commit 76e03ab

File tree

52 files changed

+2278
-212
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2278
-212
lines changed

.github/dependabot.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Dependabot configuration for keeping dependencies updated
2+
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
3+
4+
version: 2
5+
updates:
6+
# Python dependencies (requirements.txt)
7+
- package-ecosystem: "pip"
8+
directory: "/"
9+
schedule:
10+
interval: "weekly"
11+
day: "monday"
12+
time: "09:00"
13+
open-pull-requests-limit: 5
14+
reviewers:
15+
- "mvadari"
16+
- "intelliot"
17+
commit-message:
18+
prefix: "deps"
19+
include: "scope"
20+
21+
# GitHub Actions dependencies
22+
- package-ecosystem: "github-actions"
23+
directory: "/"
24+
schedule:
25+
interval: "weekly"
26+
day: "monday"
27+
time: "09:00"
28+
open-pull-requests-limit: 5
29+
reviewers:
30+
- "mvadari"
31+
- "intelliot"
32+
commit-message:
33+
prefix: "ci"
34+
include: "scope"

.github/workflows/deploy.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Deploy XLS Standards to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [master]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v5
23+
24+
- name: Setup Python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: "3.11"
28+
29+
- name: Cache Python dependencies
30+
uses: actions/cache@v4
31+
id: cache-deps
32+
with:
33+
path: ~/.cache/pip
34+
key: ${{ runner.os }}-pip-${{ hashFiles('**/site/requirements.txt') }}
35+
restore-keys: |
36+
${{ runner.os }}-pip-
37+
38+
- name: Install dependencies
39+
run: |
40+
python -m pip install --upgrade pip
41+
pip install -r site/requirements.txt
42+
43+
- name: Build site
44+
run: python site/build_site.py
45+
46+
- name: Setup Pages
47+
uses: actions/configure-pages@v5
48+
49+
- name: Upload artifact
50+
uses: actions/upload-pages-artifact@v4
51+
with:
52+
path: "site/_site"
53+
54+
deploy:
55+
environment:
56+
name: github-pages
57+
url: ${{ steps.deployment.outputs.page_url }}
58+
runs-on: ubuntu-latest
59+
needs: build
60+
steps:
61+
- name: Deploy to GitHub Pages
62+
id: deployment
63+
uses: actions/deploy-pages@v4

.github/workflows/validate-xls.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Validate XLS Documents
2+
3+
on:
4+
push:
5+
branches: [master]
6+
pull_request:
7+
workflow_dispatch:
8+
9+
jobs:
10+
validate-xls:
11+
runs-on: ubuntu-latest
12+
name: Validate XLS Document Parsing
13+
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v5
17+
18+
- name: Setup Python
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: "3.11"
22+
23+
- name: Cache Python dependencies
24+
id: cache-deps
25+
uses: actions/cache@v4
26+
with:
27+
path: ~/.cache/pip
28+
key: ${{ runner.os }}-pip-${{ hashFiles('**/site/requirements.txt') }}
29+
restore-keys: |
30+
${{ runner.os }}-pip-
31+
32+
- name: Install dependencies
33+
run: |
34+
python -m pip install --upgrade pip
35+
pip install -r site/requirements.txt
36+
37+
- name: Validate XLS document parsing
38+
run: |
39+
echo "Running XLS document validation..."
40+
python site/xls_parser.py
41+
42+
- name: Report validation results
43+
if: always()
44+
run: |
45+
echo "XLS validation completed"
46+
echo "This pipeline validates that all XLS documents can be parsed correctly"
47+
echo "If this fails, it indicates issues with XLS document formatting or metadata"

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
.DS_Store
22
/.idea
3+
_site/
4+
5+
# Python cache files
6+
__pycache__/
7+
*.pyc
8+
*.pyo
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<pre>
2+
xls: 2
3+
title: XRPL destination information
4+
description: A standard for encoding destination information with backwards compatibility for web browsers
5+
author: Wietse Wind <w@xrpl-labs.com>
6+
discussion-from: https://github.com/XRPLF/XRPL-Standards/discussions/27
7+
status: Stagnant
8+
category: Community
9+
created: 2019-02-25
10+
</pre>
11+
12+
Currently several apps are using a variety of methods to encode destination information;
13+
14+
- rPEPPER7kfTD9w2To4CQk6UCfuHM9c6GDY?dt=123
15+
- rPEPPER7kfTD9w2To4CQk6UCfuHM9c6GDY:123
16+
- Deprecated Ripple URI syntax: https://ripple.com//send?to=rPEPPER7kfTD9w2To4CQk6UCfuHM9c6GDY&amount=30&dt=123
17+
18+
I feel the best way to implement this, is by allowing Apps to register Deep Links (URI handlers) while keeping the destinations backwards compatible with Web browsers, so users without any app to handle a URI can display a page by the app creator with an instruction.
19+
20+
I propose to allow any URL prefix, with a default set of GET URL params, supporting the existing params proposed in the (deprecated) Ripple URI standard;
21+
22+
so:
23+
24+
{ any URL } ? { params }
25+
26+
Where params may _all_ be optional except for the account address:
27+
28+
- `to` (account address, rXXXX..)
29+
- `dt` (destination tag, uint32)
30+
- `amount` (float, default currency: XRP (1000000 drops))
31+
- ...
32+
33+
So App 1 may use:
34+
https://someapp.com/sendXrp?to=...
35+
36+
... While App 2 uses:
37+
https://anotherapp.net/deposit-xrp?to=...&dt=1234&amount=10
File renamed without changes.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<pre>
2+
xls: 3
3+
title: Sharing and deeplinking signed transactions
4+
description: A standard for encoding HEX signed transactions for air-gapped submissions with deep link support
5+
author: Wietse Wind <w@xrpl-labs.com>
6+
discussion-from: https://github.com/XRPLF/XRPL-Standards/discussions/26
7+
status: Stagnant
8+
category: Community
9+
created: 2019-02-25
10+
</pre>
11+
12+
Currently several apps are using a variety of methods to encode HEX signed transactions (to be submitted air gapped);
13+
14+
- { HEX }
15+
- ripple:signed-transaction:{ HEX }
16+
- ripple://signed/{ HEX }
17+
18+
I feel the best way to implement this, is by allowing Apps to register Deep Links (URI handlers) while keeping the destinations backwards compatible with Web browsers, so users without any app to handle a URI can display a page by the app creator with an instruction.
19+
20+
I propose to allow any URL prefix:
21+
{ any URI with exactly one folder } / { HEX }
22+
23+
So App 1 may use:
24+
https://someapp.com/submitTx/{ HEX }
25+
26+
... While App 2 uses:
27+
https://someapp.com/send-xrpl-tx/{ HEX }
28+
29+
I would propose to limit the amount of slashes before the HEX to a _fixed amount of slashes_ (eg. one folder, as the App 1 and App 2 examples show) so parsers can easily split the URI without having to use regular expressions.
30+
31+
Limitations:
32+
MSIE limits URL parsing to 2,083 chars. Safari 65k chars. Todo: need to test this on modern mobile OS'es.
33+
34+
P.S. Another option (proposal) would be to use a specific syntax (prefix) instead of fixed (one) folder; eg.
35+
`https://xrpl-labs.com/xrpl:signed-transaction:<SIGNEDBLOB>`
36+
37+
... Where the fixed prefix in this case is `xrpl:signed-transaction:`.

XLS-0004-trustline-uri/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<pre>
2+
xls: 4
3+
title: Trustline Add URI
4+
description: A URI standard for instructing wallets to add trustlines following the design of XLS-2d
5+
author: Richard Holland (@RichardAH)
6+
discussion-from: https://github.com/XRPLF/XRPL-Standards/discussions/25
7+
status: Stagnant
8+
category: Community
9+
created: 2019-03-06
10+
</pre>
11+
12+
I suggest we follow on closely from the design of XLS-2d
13+
14+
Query parameters:
15+
`action=trustline`
16+
`limit=<integer>`
17+
`currency=<issuer address>:<currency code>`
18+
`rippling=true|false (optional, default = false)`
19+
20+
I.e.
21+
22+
`{ url } ? { trust line instructions }`
23+
24+
So for example
25+
26+
`anything://any.domain/url/?action=trustline&limit=10000&currency=rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B:USD&rippling=false`
27+
28+
I realise compounding the currency and issuer information is a little tacky here but we did it in the previous standard

XLS-0005-tagged-addresses/README.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<pre>
2-
XLS-5 - XRP Ledger Proposed Standard #5
3-
4-
Title: Tagged Addresses
5-
Author: Nikolaos D. Bougalis <nikb@bougalis.net>
6-
Affiliation: Ripple
7-
Created: 2019-05-15
8-
9-
Original: https://github.com/xrp-community/standards-drafts/issues/6
2+
xls: 5
3+
title: Tagged Addresses
4+
description: A standard for addresses that contain both the target wallet and destination tag as a single unit
5+
author: Nikolaos D. Bougalis <nikb@bougalis.net>
6+
discussion-from: https://github.com/XRPLF/XRPL-Standards/discussions/142
7+
status: Final
8+
category: Community
9+
created: 2019-06-04
1010
</pre>
1111

1212
# Abstract
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<pre>
2+
xls: 6
3+
title: Standard for Visual Account Icons
4+
description: A standard for visually distinguishing XRPL accounts by generating unique icons for each account, regardless of address format.
5+
author: Richard Holland (RichardAH)
6+
discussion-from: https://github.com/XRPLF/XRPL-Standards/discussions/24
7+
status: Final
8+
category: Community
9+
created: 2019-09-22
10+
</pre>
11+
12+
Following from [XLS-5d](https://github.com/XRPLF/XLS-0005-standards-for-addressing), it has become necessary to provide XRPL users a way to identify their XRPL account, which effectively now has two different identifiers: an 'r-address' and an 'X-address'.
13+
14+
To solve this problem XLS-6d provides for a standard way to visually identify accounts irrespective of which addressing system is used by the rest of the user interface.
15+
16+
For a user account take the X-address of the account without destination tag and feed it into hashicon https://www.npmjs.com/package/hashicon
17+
18+
For an exchange, take the X-address of the account with the destination tag and feed it into hashicon.
19+
20+
It's recommended that these icons are displayed alongside addresses to help reduce user confusion. See examples in Figures 1 and 2.
21+
22+
![image](https://user-images.githubusercontent.com/19866478/65387069-ba273a80-dd86-11e9-8680-34488e15401d.png)
23+
Figure 1
24+
25+
![image](https://user-images.githubusercontent.com/19866478/65387078-dc20bd00-dd86-11e9-90af-126edf511060.png)
26+
Figure 2

0 commit comments

Comments
 (0)