Compare commits
325 Commits
feature/py
...
feat/shrin
| Author | SHA1 | Date | |
|---|---|---|---|
|
6f693e58f7
|
|||
|
ce956abe5c
|
|||
|
f044566c52
|
|||
|
968d9587b6
|
|||
|
1bc3d3e15d
|
|||
|
df4a8da5df
|
|||
|
d7dc5cd6f3
|
|||
|
962910f36b
|
|||
|
90264c0024
|
|||
|
6286ff1a80
|
|||
|
bfaa83021f
|
|||
|
8ba8962cb8
|
|||
|
1d73d92923
|
|||
|
3500ab0156
|
|||
|
47fa5d6b58
|
|||
|
a88ce4e77a
|
|||
|
e1c324ac19
|
|||
|
dfbcd80193
|
|||
|
50596fc4ba
|
|||
|
83436352e7
|
|||
|
779f895ef8
|
|||
|
d53c48ba85
|
|||
|
e489764ff8
|
|||
|
51c4416d4d
|
|||
|
|
a78d999a61 | ||
|
|
74afdc1b5b | ||
|
|
607fdd4d46 | ||
|
|
ca01b96e80 | ||
|
467faff592
|
|||
|
3791d0be6e
|
|||
|
06526ca92d
|
|||
|
e1ff6e42a5
|
|||
|
a6670f6533
|
|||
|
598cea1ac8
|
|||
|
9b4febeddb
|
|||
|
c15a5d5a8b
|
|||
|
720e59c144
|
|||
|
c45a30675c
|
|||
|
9e8e23165e
|
|||
|
53e05922bf
|
|||
|
0be0dad1b2
|
|||
|
f404d55935
|
|||
|
009c2b430c
|
|||
|
ed96fbcc29
|
|||
|
4555ef5da2
|
|||
|
1335a73eb6
|
|||
|
b8f3039629
|
|||
|
1888160fa5
|
|||
|
7dd0f839cf
|
|||
|
5a0068586a
|
|||
|
8079780c08
|
|||
|
72b8dae35e
|
|||
|
323ace5775
|
|||
|
c2803e372a
|
|||
|
2a9e704f29
|
|||
|
0c490625a9
|
|||
|
b9753617ad
|
|||
|
b87d19c5d9
|
|||
|
67e8b4cf7e
|
|||
|
bfc6652f29
|
|||
|
38372c0cff
|
|||
|
dd64313006
|
|||
|
9e20a6171a
|
|||
|
da347fd860
|
|||
|
776b7de753
|
|||
|
7b2b3659bb
|
|||
|
872373dffd
|
|||
|
8d832372cd
|
|||
|
03dae87272
|
|||
|
4c654fcb78
|
|||
|
c9542e4af7
|
|||
|
e184375897
|
|||
|
844f1b52e2
|
|||
|
19c51c3665
|
|||
|
85ebd460ed
|
|||
|
50879b4f0e
|
|||
|
6c09923281
|
|||
|
332c408b89
|
|||
|
4ae6f7bb99
|
|||
|
d4d6b47225
|
|||
|
9809fe0695
|
|||
|
3522389422
|
|||
|
2979d3c4de
|
|||
|
a8b2c02164
|
|||
|
372ba908b8
|
|||
|
1145b9205c
|
|||
|
a71c5b6663
|
|||
|
724e800201
|
|||
|
abcaa9283d
|
|||
|
e175f68d25
|
|||
|
80b6a9bf46
|
|||
|
b089b8c0a8
|
|||
|
8f774ba8f0
|
|||
|
f4f5f47ee7
|
|||
|
16f17a9486
|
|||
|
72483674f6
|
|||
|
b69c7f381b
|
|||
|
d7d4dbed8b
|
|||
|
2437b19836
|
|||
|
abd23e0eb8
|
|||
|
57a4b977ec
|
|||
|
7f591e2724
|
|||
|
3d5c16f9cb
|
|||
|
fdb5f84c92
|
|||
|
eaf363ee27
|
|||
|
0ea9db3473
|
|||
|
8d6acca5e9
|
|||
|
bfc1f0839a
|
|||
|
258061c64d
|
|||
|
399ac5f0da
|
|||
|
74362de02a
|
|||
|
9f7b93b8a1
|
|||
|
665921d046
|
|||
|
84cf772273
|
|||
|
22cd49a012
|
|||
|
00d035a0e8
|
|||
|
fc56cafab8
|
|||
|
eee87e6ca7
|
|||
|
09852f19b6
|
|||
|
8b464cd89d
|
|||
|
98597768f3
|
|||
|
08f80ddb5c
|
|||
|
33fd8136a7
|
|||
|
b2943bfeac
|
|||
|
c3c7c86a66
|
|||
|
8563a6857f
|
|||
|
1650d25d0f
|
|||
|
f4ee2297a7
|
|||
|
35ced02977
|
|||
|
45709632d5
|
|||
|
e65fe8cd30
|
|||
|
21f725baf3
|
|||
|
c2a1995292
|
|||
|
af93330bf5
|
|||
|
e43ae63d8a
|
|||
|
add64ba889
|
|||
|
8d13297cb0
|
|||
|
eee95df47c
|
|||
|
1febeaf8a3
|
|||
|
088be26b48
|
|||
|
7f055f3607
|
|||
|
5a455fcdca
|
|||
|
846e28d92f
|
|||
|
ec3563093f
|
|||
|
0ec96b4461
|
|||
|
873504ecbf
|
|||
|
51f4a3462b
|
|||
|
0656d8a95d
|
|||
|
a79c795672
|
|||
|
159a40ecb5
|
|||
|
9d359640d3
|
|||
|
f0c60a4cea
|
|||
|
2c5ac7b475
|
|||
|
6a64de155d
|
|||
|
f5ba80fc16
|
|||
|
f8f48e9353
|
|||
|
f734e9ade4
|
|||
|
95e161aba9
|
|||
|
e4331e712a
|
|||
|
4804016fdf
|
|||
|
ccb6cdb454
|
|||
|
dade1f5d8d
|
|||
|
cecfdea07f
|
|||
|
7bea502bdf
|
|||
|
1fd539bcb9
|
|||
|
f940f4418d
|
|||
|
de476eb7ab
|
|||
|
2fbf21eaaf
|
|||
|
8ccbe2ebf1
|
|||
|
d4136a396a
|
|||
|
622a4038ac
|
|||
|
a65896b80d
|
|||
|
415703e21b
|
|||
|
89bf5eecd7
|
|||
|
b4059910ec
|
|||
|
7896f71534
|
|||
|
f9b30a3fe6
|
|||
|
31c80276de
|
|||
|
840ba4c10c
|
|||
|
53bf28b208
|
|||
|
d651e3a20c
|
|||
|
fb376a4906
|
|||
|
cd69d86246
|
|||
|
1ae1eeb159
|
|||
|
5171fffab5
|
|||
|
ca1e99013d
|
|||
|
7c71c994f2
|
|||
|
70655a4d39
|
|||
|
1551799b88
|
|||
|
4ab0db973f
|
|||
|
a3a2748d15
|
|||
|
ce8897d578
|
|||
|
637562f920
|
|||
|
42aff1f455
|
|||
|
855f6b3c99
|
|||
|
8a50ae7e32
|
|||
|
1a3572e64c
|
|||
|
ad6e3fe9d8
|
|||
|
99b63592d0
|
|||
|
6c004d14bd
|
|||
|
a6b488d1a6
|
|||
|
0cef259ecc
|
|||
|
150bc17ed4
|
|||
|
c9e9c9be46
|
|||
|
90d8dc3428
|
|||
|
863d11cffd
|
|||
|
b3d965d220
|
|||
|
496205c6b4
|
|||
|
9552df4b4e
|
|||
|
9881584cdb
|
|||
|
867583d30c
|
|||
|
125768b01e
|
|||
|
320538ad17
|
|||
|
56a5539106
|
|||
|
56b1048622
|
|||
|
3e4d5c2633
|
|||
|
cdb7eb86a5
|
|||
|
6de2518f1f
|
|||
|
34580eeab4
|
|||
|
0dd03e544c
|
|||
|
84a6310189
|
|||
|
68f8c55817
|
|||
|
9c0d592a24
|
|||
|
56349561f9
|
|||
|
702282d11f
|
|||
|
46856a9399
|
|||
|
eecf9b8db8
|
|||
|
1c891d971f
|
|||
|
6dfa664807
|
|||
|
5a27be5a3c
|
|||
|
8687daecfd
|
|||
|
6b5fe4bc2f
|
|||
|
c86bae36ad
|
|||
|
ef40e8078c
|
|||
|
80fc1cdc4d
|
|||
|
331de40dfd
|
|||
|
f3ee6607e7
|
|||
|
eec66b13ca
|
|||
|
9fc218feb1
|
|||
|
9ed68d1f0b
|
|||
|
80cc8022eb
|
|||
|
6bf45b9c2b
|
|||
|
860d070c55
|
|||
|
7e49d23736
|
|||
|
69fb34c2ba
|
|||
|
6664de6c07
|
|||
|
b93515ff32
|
|||
|
230042cc7b
|
|||
|
98acc8543c
|
|||
|
eea21cea1e
|
|||
|
fb8136f3b6
|
|||
|
e84c39030d
|
|||
|
75308cb264
|
|||
|
9b81a0bf18
|
|||
|
005a306fc6
|
|||
|
cb13ca0a3b
|
|||
|
5685830cba
|
|||
|
1f9b38306c
|
|||
|
9568cfe177
|
|||
|
18619efe39
|
|||
|
719221d74f
|
|||
|
5d95307ae2
|
|||
|
1b017d919a
|
|||
|
ce5ec9aace
|
|||
|
668dc8683b
|
|||
|
65dc5991c0
|
|||
|
05be03225d
|
|||
|
52dd703fa6
|
|||
|
e40ec28509
|
|||
|
1cb8f3ea65
|
|||
|
922a0f5d47
|
|||
|
94c32a3b30
|
|||
|
3024c3de32
|
|||
|
d936a8f96b
|
|||
|
1eb32828ec
|
|||
|
bf6236e60b
|
|||
|
3bf9e043fe
|
|||
|
efc359459c
|
|||
|
095f74773c
|
|||
|
d58a6196eb
|
|||
|
a24a6b599e
|
|||
|
f4409415d9
|
|||
|
d17b528baf
|
|||
|
7f4f589d5b
|
|||
|
61d33381e8
|
|||
|
3f1225a03a
|
|||
|
ad95fe796b
|
|||
|
9e078387d8
|
|||
|
fb81b24839
|
|||
|
f4295107a4
|
|||
|
35e4ae222c
|
|||
|
12a51bbb54
|
|||
|
6d47ddf89f
|
|||
|
2d56c89765
|
|||
|
21aec406df
|
|||
|
6eb6299b3a
|
|||
|
c3f2714929
|
|||
|
e98edf3de9
|
|||
|
cadece357b
|
|||
|
da42f35ff0
|
|||
|
dcb07799e3
|
|||
|
ece562caba
|
|||
|
23d44038ef
|
|||
|
31f93005b9
|
|||
|
8217a7fcd6
|
|||
|
00ac9881c3
|
|||
|
1f54a882d8
|
|||
|
7a9fb9e08b
|
|||
|
9305442c4b
|
|||
|
d67da4ad06
|
|||
|
d094784188
|
|||
|
c2cd53dc78
|
|||
|
89ce365bd0
|
|||
|
e6708dceaa
|
|||
|
2e463c626d
|
|||
|
797db5e1a9
|
|||
|
12dd3dfedc
|
|||
|
682e732643
|
|||
|
33158bdb57
|
|||
|
26c91c030a
|
|||
|
699e9988f2
|
|||
|
21bcb0464b
|
|||
|
6efcb43d23
|
|||
|
dcbe034d2f
|
|||
|
5f42fc3d8c
|
33
.dockerignore
Normal file
33
.dockerignore
Normal file
@@ -0,0 +1,33 @@
|
||||
# Bytecode and virtualenvs
|
||||
__pycache__/
|
||||
*.pyc
|
||||
*.pyo
|
||||
.venv/
|
||||
.vscode/
|
||||
.vs/
|
||||
.ruff_check/
|
||||
.env
|
||||
|
||||
# Pycache in subdirectories
|
||||
**/__pycache__/
|
||||
**/*.pyc
|
||||
**/*.pyo
|
||||
|
||||
# Git and CI
|
||||
.git/
|
||||
.gitea/
|
||||
testing/
|
||||
tests/
|
||||
|
||||
# Build and docs
|
||||
Dockerfile
|
||||
NathanWoodburn.bsdesign
|
||||
LICENSE.txt
|
||||
README.md
|
||||
|
||||
|
||||
# Development caches
|
||||
*.tmp
|
||||
*.log
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
Build Image:
|
||||
BuildImage:
|
||||
runs-on: [ubuntu-latest, amd]
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
||||
18
.gitea/workflows/check.yml
Normal file
18
.gitea/workflows/check.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
name: Check Code Quality
|
||||
run-name: Ruff CI
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
RuffCheck:
|
||||
runs-on: [ubuntu-latest, amd]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
run: |
|
||||
apt update
|
||||
apt install -y python3 python3-pip
|
||||
- name: Install Ruff
|
||||
run: pip install ruff
|
||||
- name: Run Ruff
|
||||
run: ruff check .
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,2 +1,8 @@
|
||||
|
||||
__pycache__/
|
||||
|
||||
.env
|
||||
.vs/
|
||||
.venv/
|
||||
*.tmp
|
||||
testing/
|
||||
|
||||
16
.pre-commit-config.yaml
Normal file
16
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
repos:
|
||||
- repo: https://github.com/astral-sh/uv-pre-commit
|
||||
# uv version.
|
||||
rev: 0.9.8
|
||||
hooks:
|
||||
- id: uv-lock
|
||||
- id: uv-export
|
||||
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
# Ruff version.
|
||||
rev: v0.14.4
|
||||
hooks:
|
||||
# Run the linter.
|
||||
- id: ruff-check
|
||||
# Run the formatter.
|
||||
- id: ruff-format
|
||||
1
.python-version
Normal file
1
.python-version
Normal file
@@ -0,0 +1 @@
|
||||
3.13
|
||||
Binary file not shown.
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
""
|
||||
],
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
||||
BIN
.vs/slnx.sqlite
BIN
.vs/slnx.sqlite
Binary file not shown.
8
.well-known/assetlinks.json
Normal file
8
.well-known/assetlinks.json
Normal file
@@ -0,0 +1,8 @@
|
||||
[{
|
||||
"relation": ["delegate_permission/common.handle_all_urls"],
|
||||
"target": {
|
||||
"namespace": "android_app",
|
||||
"package_name": "au.woodburn.nathan",
|
||||
"sha256_cert_fingerprints": ["D8:97:22:C4:C5:AA:AC:6D:7B:57:F0:19:FF:A1:E7:2A:92:71:EE:CF:1F:E1:AF:5A:87:22:0D:00:76:9D:83:80"]
|
||||
}
|
||||
}]
|
||||
6
.well-known/wallets/.BTC.proof
Normal file
6
.well-known/wallets/.BTC.proof
Normal file
@@ -0,0 +1,6 @@
|
||||
I hereby confirm that I am the owner of the Bitcoin address bc1qzsp3wc2nwayl8awun57tggjn92w0awp9mzsn90.
|
||||
Nathan.Woodburn/
|
||||
--------------------
|
||||
HzEsSV17nmbMwnz55sW6jW/AnmYxW0TAdgiJsYRUyWs7WjBaGlzrvXkH1R8qosQXSvQ1nZNe9dS5SUCZtbNZzuM=
|
||||
--------------------
|
||||
You can verify this signature by pasting it into a signature verification tool such as https://www.verifybitcoinmessage.com/. Don't forget to remove trailing newlines.
|
||||
6
.well-known/wallets/.ETH.proof
Normal file
6
.well-known/wallets/.ETH.proof
Normal file
@@ -0,0 +1,6 @@
|
||||
I hereby confirm that I am the owner of the EVM address 0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e.
|
||||
Nathan.Woodburn/
|
||||
--------------------
|
||||
0x254919e1f2035a4f04614da9e1fbc1f45dab31b03b0baf1bb3325a9f9e437f1f787b99ebc6716b822fc190284c2c678054c91835492ff0df239ec60f6166587f1c
|
||||
--------------------
|
||||
You can verify this signature by pasting it into a signature verification tool such as https://etherscan.io/verifiedSignatures
|
||||
13
.well-known/wallets/.SOL.proof
Normal file
13
.well-known/wallets/.SOL.proof
Normal file
@@ -0,0 +1,13 @@
|
||||
I hereby confirm that I am the owner of the SOL address AJsPEEe6S7XSiVcdZKbeV8GRp1QuhFUsG8mLrqL4XgiU.
|
||||
Nathan.Woodburn/
|
||||
--------------------
|
||||
[71,63,207,190,90,17,145,39,4,98,110,176,86,140,143,107,237,96,24,43,2,116,21,70,47,98,192,24,193,210,89,220,30,128,219,105,9,35,146,188,216,143,164,32,255,44,146,249,153,33,54,214,203,159,80,26,107,165,217,240,153,61,39,0]
|
||||
--------------------
|
||||
0x473fcfbe5a11912704626eb0568c8f6bed60182b027415462f62c018c1d259dc1e80db69092392bcd88fa420ff2c92f9992136d6cb9f501a6ba5d9f0993d2700
|
||||
--------------------
|
||||
2Rd2EkAUwC8u4DtCZ5BXTkJEvWxozrxmcEzn7VbJFFbL81YLQngH9V1bTu3vivaQz7ZGqs5YtpPWxomsYeE7Ws6F
|
||||
--------------------
|
||||
Rz/PvloRkScEYm6wVoyPa+1gGCsCdBVGL2LAGMHSWdwegNtpCSOSvNiPpCD/LJL5mSE21sufUBprpdnwmT0nAA==
|
||||
--------------------
|
||||
You can verify this signature by pasting it into a signature verification tool such as https://amacar.github.io/solana-tools/#verify-message
|
||||
Please note I have included various formats for the signature to make it easier to verify.
|
||||
33
.well-known/wallets/.coins
Normal file
33
.well-known/wallets/.coins
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"ADA": "Cardano (ADA)",
|
||||
"ATOM": "Cosmos (ATOM)",
|
||||
"AVAX": "Avalanche (AVAX)",
|
||||
"BNB": "Binance (BNB)",
|
||||
"BTC": "Bitcoin (BTC)",
|
||||
"CRO": "Crypto.com (CRO)",
|
||||
"DOT": "Polkadot (DOT)",
|
||||
"ERG": "ERGO (ERG)",
|
||||
"ETH": "Ethereum (ETH)",
|
||||
"HNS": "Handshake (HNS)",
|
||||
"MATIC": "Polygon (MATIC)",
|
||||
"SOL": "Solana (SOL)",
|
||||
"XMR": "Monero (XMR)",
|
||||
"XRP": "Ripple (XRP)",
|
||||
"OSMO": "Osmosis (OSMO)",
|
||||
"STARS": "Stargaze (STARS)",
|
||||
"INJ": "Injective (INJ)",
|
||||
"LIKE": "LikeCoin (LIKE)",
|
||||
"SCRT": "Secret Network (SCRT)",
|
||||
"LTC": "Litecoin (LTC)",
|
||||
"DOGE": "Dogecoin (DOGE)",
|
||||
"ALGO": "Algorand (ALGO)",
|
||||
"TON": "Toncoin (TON)",
|
||||
"OP": "Optimism (OP)",
|
||||
"IAA": "IRIS (IAA)",
|
||||
"NEAR": "NEAR Protocol (NEAR)",
|
||||
"KAS": "Kasper (KAS)",
|
||||
"XLM": "Stellar (XLM)",
|
||||
"APT": "Aptos (APT)",
|
||||
"TRX": "Tron (TRX)",
|
||||
"BCH": "Bitcoin Cash (BCH)"
|
||||
}
|
||||
32
.well-known/wallets/.domains
Normal file
32
.well-known/wallets/.domains
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"ETH":"woodburn.au",
|
||||
"HNS":"nathan.woodburn",
|
||||
"SOL":"woodburn.sol",
|
||||
"ADA": "$nathanwoodburn",
|
||||
"MATIC": "woodburn.au",
|
||||
"BNB": "woodburn.au",
|
||||
"INJ": "woodburn.sol",
|
||||
"ATOM": "woodburn_nathan.cosmos",
|
||||
"OSMO": "woodburn_nathan.osmo",
|
||||
"SCRT": "woodburn_nathan.secret",
|
||||
"AKASH": "woodburn_nathan.akash",
|
||||
"SIF": "woodburn_nathan.sif",
|
||||
"SHENTU": "woodburn_nathan.shentu",
|
||||
"IAA": "woodburn_nathan.iaa",
|
||||
"REGEN": "woodburn_nathan.regen",
|
||||
"PERSISTENCE": "woodburn_nathan.persistence",
|
||||
"BOSTROM": "woodburn_nathan.bostrom",
|
||||
"JUNO": "woodburn_nathan.juno",
|
||||
"AXELAR": "woodburn_nathan.axelar",
|
||||
"SOMM": "woodburn_nathan.somm",
|
||||
"UMEE": "woodburn_nathan.umee",
|
||||
"GRAVITY": "woodburn_nathan.gravity",
|
||||
"STRIDE": "woodburn_nathan.stride",
|
||||
"KAVA": "woodburn_nathan.kava",
|
||||
"QUICK": "woodburn_nathan.quick",
|
||||
"TERRA": "woodburn_nathan.terra",
|
||||
"OMNIFLIX": "woodburn_nathan.omniflix",
|
||||
"LIKE": "woodburn_nathan.like",
|
||||
"CHIHUAHUA": "woodburn_nathan.chihuahua",
|
||||
"NEAR": "woodburn.near"
|
||||
}
|
||||
104
.well-known/wallets/.tokens
Normal file
104
.well-known/wallets/.tokens
Normal file
@@ -0,0 +1,104 @@
|
||||
[
|
||||
{
|
||||
"symbol": "USDT",
|
||||
"name": "Tether",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "USDT",
|
||||
"name": "Tether",
|
||||
"chain": "SOL"
|
||||
},
|
||||
{
|
||||
"symbol": "USDC",
|
||||
"name": "USDC",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "USDC",
|
||||
"name": "USDC",
|
||||
"chain": "SOL"
|
||||
},
|
||||
{
|
||||
"symbol": "USDC",
|
||||
"name": "USDC",
|
||||
"chain": "NOBLE"
|
||||
},
|
||||
{
|
||||
"symbol": "PYUSD",
|
||||
"name": "PayPal USD",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "PYUSD",
|
||||
"name": "PayPal USD",
|
||||
"chain": "SOL"
|
||||
},
|
||||
{
|
||||
"symbol": "WDBRN",
|
||||
"name": "Woodburn",
|
||||
"chain": "SOL"
|
||||
},
|
||||
{
|
||||
"symbol": "DAI",
|
||||
"name": "DAI Stablecoin",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "RAY",
|
||||
"name": "Raydium",
|
||||
"chain": "SOL"
|
||||
},
|
||||
{
|
||||
"symbol": "UNI",
|
||||
"name": "Uniswap",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "AAVE",
|
||||
"name": "AAVE",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "1INCH",
|
||||
"name": "1INCH",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "PSP",
|
||||
"name": "ParaSwap",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "CAKE",
|
||||
"name": "PancakeSwap",
|
||||
"chain": "BNB"
|
||||
},
|
||||
{
|
||||
"symbol": "BTC",
|
||||
"name": "Bitcoin Lightning",
|
||||
"chain": "null",
|
||||
"address": "thinbadger6@primal.net"
|
||||
},
|
||||
{
|
||||
"symbol": "stWDBRN",
|
||||
"name": "Woodburn Vault",
|
||||
"chain": "SOL"
|
||||
},
|
||||
{
|
||||
"symbol": "AUDD",
|
||||
"name": "Australian Digital Dollar",
|
||||
"chain": "ETH"
|
||||
},
|
||||
{
|
||||
"symbol": "AUDD",
|
||||
"name": "Australian Digital Dollar",
|
||||
"chain": "SOL"
|
||||
},
|
||||
{
|
||||
"symbol": "AUDD",
|
||||
"name": "Australian Digital Dollar",
|
||||
"chain": "BASE",
|
||||
"address": "0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e"
|
||||
}
|
||||
]
|
||||
1
.well-known/wallets/ADA
Normal file
1
.well-known/wallets/ADA
Normal file
@@ -0,0 +1 @@
|
||||
addr1qy5l7vmx9l2uexv44hzjak4zmwecee4hht0k6shtk5jh7cjzu99z8vx5n467fquzradx7p42grdylv3zq2cgfw0f32fs443hxs
|
||||
1
.well-known/wallets/AKASH
Normal file
1
.well-known/wallets/AKASH
Normal file
@@ -0,0 +1 @@
|
||||
akash1ugraczuyfmxy8k38nps4fu7e5derryzxpk2n77
|
||||
1
.well-known/wallets/ALGO
Normal file
1
.well-known/wallets/ALGO
Normal file
@@ -0,0 +1 @@
|
||||
OUWNGLRLAN56VTNI3F4EKISPDIFIF2HMCV3OYS3DER7WXF2LCFMEV2TWPI
|
||||
1
.well-known/wallets/APT
Normal file
1
.well-known/wallets/APT
Normal file
@@ -0,0 +1 @@
|
||||
0x372b3c513d149e5511912eba22e31f07d2b289e20ba84b2e0b7756e7a00295c3
|
||||
1
.well-known/wallets/ATOM
Normal file
1
.well-known/wallets/ATOM
Normal file
@@ -0,0 +1 @@
|
||||
cosmos1ugraczuyfmxy8k38nps4fu7e5derryzxvd858y
|
||||
1
.well-known/wallets/AVAX
Normal file
1
.well-known/wallets/AVAX
Normal file
@@ -0,0 +1 @@
|
||||
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e
|
||||
1
.well-known/wallets/AXELAR
Normal file
1
.well-known/wallets/AXELAR
Normal file
@@ -0,0 +1 @@
|
||||
axelar1ugraczuyfmxy8k38nps4fu7e5derryzxgr3uv9
|
||||
1
.well-known/wallets/BCH
Normal file
1
.well-known/wallets/BCH
Normal file
@@ -0,0 +1 @@
|
||||
qpsgs9daa6e2mn4v0u02pfunsme68a5uayn7e8knug
|
||||
1
.well-known/wallets/BNB
Normal file
1
.well-known/wallets/BNB
Normal file
@@ -0,0 +1 @@
|
||||
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e
|
||||
1
.well-known/wallets/BOSTROM
Normal file
1
.well-known/wallets/BOSTROM
Normal file
@@ -0,0 +1 @@
|
||||
bostrom1ugraczuyfmxy8k38nps4fu7e5derryzx07n8er
|
||||
@@ -1 +1 @@
|
||||
bc1qhs94zzcw64qnwq4hvk056rwxwvgrkd7tq7d4xw
|
||||
bc1qzsp3wc2nwayl8awun57tggjn92w0awp9mzsn90
|
||||
1
.well-known/wallets/CHIHUAHUA
Normal file
1
.well-known/wallets/CHIHUAHUA
Normal file
@@ -0,0 +1 @@
|
||||
chihuahua1ugraczuyfmxy8k38nps4fu7e5derryzx0c26xx
|
||||
1
.well-known/wallets/DASH
Normal file
1
.well-known/wallets/DASH
Normal file
@@ -0,0 +1 @@
|
||||
Xpr5auWs1waBmWT3XsWXwzu8Di32x8VfH2
|
||||
1
.well-known/wallets/DOGE
Normal file
1
.well-known/wallets/DOGE
Normal file
@@ -0,0 +1 @@
|
||||
DCrBQ3zoy3jBWwwT95tyjBVjYFXLgKS4MC
|
||||
1
.well-known/wallets/DOT
Normal file
1
.well-known/wallets/DOT
Normal file
@@ -0,0 +1 @@
|
||||
13KSjM7rxFu7SxAuqcNZ76wyjhfuV4Kx8pWfqpFAykSQeEn3
|
||||
1
.well-known/wallets/EOS
Normal file
1
.well-known/wallets/EOS
Normal file
@@ -0,0 +1 @@
|
||||
nwoodburn111
|
||||
1
.well-known/wallets/ERG
Normal file
1
.well-known/wallets/ERG
Normal file
@@ -0,0 +1 @@
|
||||
9gfxbmYdeVGr4PPRbsBHhsJJSHyacJRNr61LhxudHc8PtQPCUsM
|
||||
1
.well-known/wallets/GRAVITY
Normal file
1
.well-known/wallets/GRAVITY
Normal file
@@ -0,0 +1 @@
|
||||
gravity1ugraczuyfmxy8k38nps4fu7e5derryzxga4vzv
|
||||
@@ -1 +1 @@
|
||||
hs1qk4sq6mk3kcshp02xgchukv09m38czdnq5qv76w
|
||||
hs1qh7uzytf2ftwkd9dmjjs7az9qfver5m7dd7x4ej
|
||||
1
.well-known/wallets/IAA
Normal file
1
.well-known/wallets/IAA
Normal file
@@ -0,0 +1 @@
|
||||
iaa1ugraczuyfmxy8k38nps4fu7e5derryzxe08994
|
||||
1
.well-known/wallets/INJ
Normal file
1
.well-known/wallets/INJ
Normal file
@@ -0,0 +1 @@
|
||||
inj1dj6t8xlvyw5jrjdzp5rphutageqtp5u7wflgv9
|
||||
1
.well-known/wallets/JUNO
Normal file
1
.well-known/wallets/JUNO
Normal file
@@ -0,0 +1 @@
|
||||
juno1ugraczuyfmxy8k38nps4fu7e5derryzx6ly0qc
|
||||
1
.well-known/wallets/KAS
Normal file
1
.well-known/wallets/KAS
Normal file
@@ -0,0 +1 @@
|
||||
kaspa:qzl7av7gq5j594pcs2gn6zf2xadpmhdm90nygjstvte0n6gt9f4fgx0w2dhm8
|
||||
1
.well-known/wallets/KAVA
Normal file
1
.well-known/wallets/KAVA
Normal file
@@ -0,0 +1 @@
|
||||
kava1ugraczuyfmxy8k38nps4fu7e5derryzxscnf3r
|
||||
1
.well-known/wallets/LIKE
Normal file
1
.well-known/wallets/LIKE
Normal file
@@ -0,0 +1 @@
|
||||
like1ugraczuyfmxy8k38nps4fu7e5derryzxl3mkyl
|
||||
1
.well-known/wallets/LTC
Normal file
1
.well-known/wallets/LTC
Normal file
@@ -0,0 +1 @@
|
||||
ltc1qx79yxm2gwnsrch925343hg3zt3r085x725a0tw
|
||||
1
.well-known/wallets/NEAR
Normal file
1
.well-known/wallets/NEAR
Normal file
@@ -0,0 +1 @@
|
||||
3b06b5e91361739aed92707e888fbbd33f97b24a8a3f8fdd54a2c7e7fd7082a3
|
||||
1
.well-known/wallets/NOBLE
Normal file
1
.well-known/wallets/NOBLE
Normal file
@@ -0,0 +1 @@
|
||||
noble1ugraczuyfmxy8k38nps4fu7e5derryzxywjul2
|
||||
1
.well-known/wallets/OMNIFLIX
Normal file
1
.well-known/wallets/OMNIFLIX
Normal file
@@ -0,0 +1 @@
|
||||
omniflix1ugraczuyfmxy8k38nps4fu7e5derryzx3nkds6
|
||||
1
.well-known/wallets/OP
Normal file
1
.well-known/wallets/OP
Normal file
@@ -0,0 +1 @@
|
||||
0x6cB4B39bEc23a921C9a20D061Bf17d4640B0d39e
|
||||
1
.well-known/wallets/OSMO
Normal file
1
.well-known/wallets/OSMO
Normal file
@@ -0,0 +1 @@
|
||||
osmo1ugraczuyfmxy8k38nps4fu7e5derryzxyk5y3k
|
||||
1
.well-known/wallets/PERSISTENCE
Normal file
1
.well-known/wallets/PERSISTENCE
Normal file
@@ -0,0 +1 @@
|
||||
persistence1ugraczuyfmxy8k38nps4fu7e5derryzxzpp8fq
|
||||
1
.well-known/wallets/QUICK
Normal file
1
.well-known/wallets/QUICK
Normal file
@@ -0,0 +1 @@
|
||||
quick1ugraczuyfmxy8k38nps4fu7e5derryzx8fhx7k
|
||||
1
.well-known/wallets/REGEN
Normal file
1
.well-known/wallets/REGEN
Normal file
@@ -0,0 +1 @@
|
||||
regen1ugraczuyfmxy8k38nps4fu7e5derryzxn0vg3q
|
||||
1
.well-known/wallets/SCRT
Normal file
1
.well-known/wallets/SCRT
Normal file
@@ -0,0 +1 @@
|
||||
secret1ugraczuyfmxy8k38nps4fu7e5derryzxwgna6c
|
||||
1
.well-known/wallets/SENT
Normal file
1
.well-known/wallets/SENT
Normal file
@@ -0,0 +1 @@
|
||||
sent1ugraczuyfmxy8k38nps4fu7e5derryzxhk3drt
|
||||
1
.well-known/wallets/SHENTU
Normal file
1
.well-known/wallets/SHENTU
Normal file
@@ -0,0 +1 @@
|
||||
shentu1ugraczuyfmxy8k38nps4fu7e5derryzxyerd4e
|
||||
1
.well-known/wallets/SIF
Normal file
1
.well-known/wallets/SIF
Normal file
@@ -0,0 +1 @@
|
||||
sif1ugraczuyfmxy8k38nps4fu7e5derryzxfsgzg0
|
||||
1
.well-known/wallets/SOMM
Normal file
1
.well-known/wallets/SOMM
Normal file
@@ -0,0 +1 @@
|
||||
somm1ugraczuyfmxy8k38nps4fu7e5derryzxq3gckw
|
||||
1
.well-known/wallets/STARS
Normal file
1
.well-known/wallets/STARS
Normal file
@@ -0,0 +1 @@
|
||||
stars1ugraczuyfmxy8k38nps4fu7e5derryzxc3sfv4
|
||||
1
.well-known/wallets/STRIDE
Normal file
1
.well-known/wallets/STRIDE
Normal file
@@ -0,0 +1 @@
|
||||
stride1ugraczuyfmxy8k38nps4fu7e5derryzx0x8gng
|
||||
1
.well-known/wallets/SUI
Normal file
1
.well-known/wallets/SUI
Normal file
@@ -0,0 +1 @@
|
||||
0x9e14ca8b9bf9661fd8a67c2c147bb1f7ea81eb38eb10938b6a9cecb54419e3b2
|
||||
1
.well-known/wallets/TERRA
Normal file
1
.well-known/wallets/TERRA
Normal file
@@ -0,0 +1 @@
|
||||
terra1ugraczuyfmxy8k38nps4fu7e5derryzx2fa59y
|
||||
1
.well-known/wallets/TON
Normal file
1
.well-known/wallets/TON
Normal file
@@ -0,0 +1 @@
|
||||
UQDqC1B0a3S9th8ncaQHYJ689dnu9c0zJXeV727UMak9WbBm
|
||||
1
.well-known/wallets/TRX
Normal file
1
.well-known/wallets/TRX
Normal file
@@ -0,0 +1 @@
|
||||
THjwavxGZahj1scVw75fhGP2HCAcjNxwsK
|
||||
1
.well-known/wallets/UMEE
Normal file
1
.well-known/wallets/UMEE
Normal file
@@ -0,0 +1 @@
|
||||
umee1ugraczuyfmxy8k38nps4fu7e5derryzx7m6trk
|
||||
1
.well-known/wallets/XLM
Normal file
1
.well-known/wallets/XLM
Normal file
@@ -0,0 +1 @@
|
||||
GCK4PA53V26MNP6U57EPK7EA42TBQMGJ4TUPMUPLLQNPZ64YX3XVLZGQ
|
||||
1
.well-known/wallets/XRP
Normal file
1
.well-known/wallets/XRP
Normal file
@@ -0,0 +1 @@
|
||||
rKzdnYvwDyeki5VCgMwjuofjBjAbg3DJnB
|
||||
12
.well-known/xrp-ledger.toml
Normal file
12
.well-known/xrp-ledger.toml
Normal file
@@ -0,0 +1,12 @@
|
||||
[METADATA]
|
||||
modified = 2024-07-02T00:00:00.000Z
|
||||
expires = 2050-07-02T00:00:00.000Z
|
||||
|
||||
[[ACCOUNTS]]
|
||||
address = "rKzdnYvwDyeki5VCgMwjuofjBjAbg3DJnB"
|
||||
desc = "Nathan.Woodburn/ (Twitter: @nathanwoodburn)"
|
||||
|
||||
[[PRINCIPALS]]
|
||||
name = "Nathan Woodburn"
|
||||
email = "xrp@nathan.woodburn.au"
|
||||
social_1 = "https://nathan.woodburn.au"
|
||||
62
Dockerfile
62
Dockerfile
@@ -1,17 +1,59 @@
|
||||
FROM --platform=$BUILDPLATFORM python:3.10-alpine AS builder
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
### Build stage ###
|
||||
FROM python:3.13-alpine AS build
|
||||
|
||||
# Install build dependencies for Pillow and other native wheels
|
||||
# Kept in case source builds are needed, though wheels are preferred
|
||||
RUN apk add --no-cache \
|
||||
build-base \
|
||||
jpeg-dev zlib-dev freetype-dev
|
||||
|
||||
# Copy uv (fast Python package manager)
|
||||
COPY --from=ghcr.io/astral-sh/uv:0.8.21 /uv /uvx /bin/
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY requirements.txt /app
|
||||
RUN --mount=type=cache,target=/root/.cache/pip \
|
||||
pip3 install -r requirements.txt
|
||||
# Copy dependency files
|
||||
COPY pyproject.toml uv.lock ./
|
||||
|
||||
COPY . /app
|
||||
# Install dependencies into a virtual environment
|
||||
# - --frozen: strict lockfile usage
|
||||
# - --no-dev: exclude development dependencies
|
||||
# - --no-install-project: avoid installing app as package
|
||||
# - --compile-bytecode: ensuring .pyc files for startup speed (optional, omit if size is critical but usually worth it)
|
||||
# We omit --compile-bytecode here to save space as requested
|
||||
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||
--mount=type=bind,source=uv.lock,target=uv.lock \
|
||||
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
||||
uv sync --frozen --no-dev --no-install-workspace
|
||||
|
||||
# Add mount point for data volume
|
||||
VOLUME /data
|
||||
### Runtime stage ###
|
||||
FROM python:3.13-alpine AS runtime
|
||||
|
||||
ENTRYPOINT ["python3"]
|
||||
CMD ["main.py"]
|
||||
ENV PATH="/app/.venv/bin:$PATH"
|
||||
|
||||
FROM builder as dev-envs
|
||||
# Create non-root user and install curl for healthchecks
|
||||
RUN addgroup -g 1001 appgroup && \
|
||||
adduser -D -u 1001 -G appgroup -h /app appuser && \
|
||||
apk add --no-cache curl
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy the virtual environment from build stage
|
||||
COPY --from=build --chown=appuser:appgroup /app/.venv /app/.venv
|
||||
|
||||
# Copy all top-level Python files
|
||||
COPY --chown=appuser:appgroup *.py ./
|
||||
|
||||
# Copy application directories
|
||||
COPY --chown=appuser:appgroup blueprints blueprints
|
||||
COPY --chown=appuser:appgroup templates templates
|
||||
COPY --chown=appuser:appgroup data data
|
||||
COPY --chown=appuser:appgroup pwa pwa
|
||||
COPY --chown=appuser:appgroup .well-known .well-known
|
||||
|
||||
USER appuser
|
||||
EXPOSE 5000
|
||||
|
||||
ENTRYPOINT ["python3", "main.py"]
|
||||
|
||||
BIN
NathanWoodburn.bsdesign
Normal file
BIN
NathanWoodburn.bsdesign
Normal file
Binary file not shown.
@@ -1 +0,0 @@
|
||||
include: [".well-known"]
|
||||
38
addCoin.py
Normal file
38
addCoin.py
Normal file
@@ -0,0 +1,38 @@
|
||||
import os
|
||||
import json
|
||||
|
||||
if not os.path.exists(".well-known/wallets"):
|
||||
os.makedirs(".well-known/wallets")
|
||||
|
||||
|
||||
def addCoin(token: str, name: str, address: str):
|
||||
with open(".well-known/wallets/" + token.upper(), "w") as f:
|
||||
f.write(address)
|
||||
|
||||
with open(".well-known/wallets/.coins", "r") as f:
|
||||
coins = json.load(f)
|
||||
|
||||
coins[token.upper()] = f"{name} ({token.upper()})"
|
||||
with open(".well-known/wallets/.coins", "w") as f:
|
||||
f.write(json.dumps(coins, indent=4))
|
||||
|
||||
|
||||
def addDomain(token: str, domain: str):
|
||||
with open(".well-known/wallets/.domains", "r") as f:
|
||||
domains = json.load(f)
|
||||
|
||||
domains[token.upper()] = domain
|
||||
with open(".well-known/wallets/.domains", "w") as f:
|
||||
f.write(json.dumps(domains, indent=4))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Ask user for token
|
||||
token = input("Enter token symbol: ")
|
||||
name = input("Enter token name: ")
|
||||
address = input("Enter wallet address: ")
|
||||
addCoin(token, name, address)
|
||||
|
||||
if input("Do you want to add a domain? (y/n): ").lower() == "y":
|
||||
domain = input("Enter domain: ")
|
||||
addDomain(token, domain)
|
||||
70
ascii_art.py
Normal file
70
ascii_art.py
Normal file
@@ -0,0 +1,70 @@
|
||||
import requests
|
||||
from PIL import Image
|
||||
from io import BytesIO
|
||||
|
||||
ASCII_CHARS = ["@", "#", "S", "%", "?", "*", "+", ";", ":", ",", "."]
|
||||
|
||||
|
||||
def resized_gray_image(image, new_width=40):
|
||||
"""
|
||||
Resize and convert image to grayscale.
|
||||
"""
|
||||
width, height = image.size
|
||||
aspect_ratio = height / width
|
||||
# 0.55 is a correction factor as terminal characters are taller than they are wide
|
||||
new_height = int(aspect_ratio * new_width * 0.55)
|
||||
img = image.resize((new_width, new_height))
|
||||
return img.convert("L")
|
||||
|
||||
|
||||
def pixels_to_ascii(image):
|
||||
"""
|
||||
Map grayscale pixels to ASCII characters.
|
||||
"""
|
||||
pixels = image.getdata()
|
||||
# 255 / 11 (len(ASCII_CHARS)) ~= 23. Using 25 for safe integer division mapping.
|
||||
characters = "".join([ASCII_CHARS[pixel // 25] for pixel in pixels])
|
||||
return characters
|
||||
|
||||
|
||||
def image_url_to_ascii(url, new_width=40):
|
||||
"""
|
||||
Convert an image URL to a colored ASCII string using ANSI escape codes.
|
||||
"""
|
||||
if not url:
|
||||
return ""
|
||||
|
||||
try:
|
||||
response = requests.get(url, timeout=5)
|
||||
image = Image.open(BytesIO(response.content))
|
||||
except Exception:
|
||||
return ""
|
||||
|
||||
# Resize image
|
||||
width, height = image.size
|
||||
aspect_ratio = height / width
|
||||
# Calculate new height to maintain aspect ratio, considering terminal character dimensions
|
||||
# ASCII chars are taller than they are wide (approx ~2x)
|
||||
# Since we are using '██' (double width), we effectively make each "cell" square.
|
||||
# So we can just scale by aspect ratio directly without additional correction factor.
|
||||
new_height = int(aspect_ratio * new_width)
|
||||
if new_height > height:
|
||||
new_height = height
|
||||
new_width = int(new_height / aspect_ratio)
|
||||
|
||||
# Resize and ensure RGB mode
|
||||
img = image.resize((new_width, new_height))
|
||||
img = img.convert("RGB")
|
||||
|
||||
pixels = img.getdata()
|
||||
|
||||
ascii_str = ""
|
||||
for i, pixel in enumerate(pixels):
|
||||
r, g, b = pixel
|
||||
ascii_str += f"\033[38;2;{r};{g};{b}m██\033[0m"
|
||||
|
||||
# Add newline at the end of each row
|
||||
if (i + 1) % new_width == 0:
|
||||
ascii_str += "\n"
|
||||
|
||||
return ascii_str
|
||||
BIN
assets/WDBRN.png
BIN
assets/WDBRN.png
Binary file not shown.
|
Before Width: | Height: | Size: 145 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 300 KiB |
7
assets/bootstrap/css/bootstrap.min.css
vendored
7
assets/bootstrap/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
6
assets/bootstrap/js/bootstrap.min.js
vendored
6
assets/bootstrap/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,57 +0,0 @@
|
||||
.bs-icon {
|
||||
--bs-icon-size: .75rem;
|
||||
display: flex;
|
||||
flex-shrink: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: var(--bs-icon-size);
|
||||
width: calc(var(--bs-icon-size) * 2);
|
||||
height: calc(var(--bs-icon-size) * 2);
|
||||
color: var(--bs-primary);
|
||||
}
|
||||
|
||||
.bs-icon-xs {
|
||||
--bs-icon-size: 1rem;
|
||||
width: calc(var(--bs-icon-size) * 1.5);
|
||||
height: calc(var(--bs-icon-size) * 1.5);
|
||||
}
|
||||
|
||||
.bs-icon-sm {
|
||||
--bs-icon-size: 1rem;
|
||||
}
|
||||
|
||||
.bs-icon-md {
|
||||
--bs-icon-size: 1.5rem;
|
||||
}
|
||||
|
||||
.bs-icon-lg {
|
||||
--bs-icon-size: 2rem;
|
||||
}
|
||||
|
||||
.bs-icon-xl {
|
||||
--bs-icon-size: 2.5rem;
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-primary {
|
||||
color: var(--bs-white);
|
||||
background: var(--bs-primary);
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-primary-light {
|
||||
color: var(--bs-primary);
|
||||
background: rgba(var(--bs-primary-rgb), .2);
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-semi-white {
|
||||
color: var(--bs-primary);
|
||||
background: rgba(255, 255, 255, .5);
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-rounded {
|
||||
border-radius: .5rem;
|
||||
}
|
||||
|
||||
.bs-icon.bs-icon-circle {
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
1
assets/css/Footer-Dark-icons.min.css
vendored
1
assets/css/Footer-Dark-icons.min.css
vendored
@@ -1 +0,0 @@
|
||||
.bs-icon{--bs-icon-size:.75rem;display:flex;flex-shrink:0;justify-content:center;align-items:center;font-size:var(--bs-icon-size);width:calc(var(--bs-icon-size) * 2);height:calc(var(--bs-icon-size) * 2);color:var(--bs-primary)}.bs-icon-xs{--bs-icon-size:1rem;width:calc(var(--bs-icon-size) * 1.5);height:calc(var(--bs-icon-size) * 1.5)}.bs-icon-sm{--bs-icon-size:1rem}.bs-icon-md{--bs-icon-size:1.5rem}.bs-icon-lg{--bs-icon-size:2rem}.bs-icon-xl{--bs-icon-size:2.5rem}.bs-icon.bs-icon-primary{color:var(--bs-white);background:var(--bs-primary)}.bs-icon.bs-icon-primary-light{color:var(--bs-primary);background:rgba(var(--bs-primary-rgb),.2)}.bs-icon.bs-icon-semi-white{color:var(--bs-primary);background:rgba(255,255,255,.5)}.bs-icon.bs-icon-rounded{border-radius:.5rem}.bs-icon.bs-icon-circle{border-radius:50%}
|
||||
@@ -1,43 +0,0 @@
|
||||
.text2-center {
|
||||
text-align: center;
|
||||
margin: 1.25rem 0;
|
||||
border-top: 1px solid #dadada;
|
||||
padding: 1.25rem 0;
|
||||
}
|
||||
|
||||
.text-center1 {
|
||||
text-align: center;
|
||||
margin: 1.25rem 0;
|
||||
border-bottom: 1px solid #dadada;
|
||||
padding: 1.25rem 0;
|
||||
}
|
||||
|
||||
.col-md-3 {
|
||||
margin: 1.25rem 0;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
|
||||
}
|
||||
|
||||
.rounded {
|
||||
border-radius: .25rem !important;
|
||||
}
|
||||
|
||||
.border {
|
||||
border: 0px !important;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #2c3134;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #2c3134;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
color: black !important;
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
1
assets/css/GridSystem-1.min.css
vendored
1
assets/css/GridSystem-1.min.css
vendored
@@ -1 +0,0 @@
|
||||
.text2-center{text-align:center;margin:1.25rem 0;border-top:1px solid #dadada;padding:1.25rem 0}.text-center1{text-align:center;margin:1.25rem 0;border-bottom:1px solid #dadada;padding:1.25rem 0}.col-md-3{margin:1.25rem 0}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.rounded{border-radius:.25rem!important}.border{border:0!important}h1,h2{color:#2c3134}.btn:hover{color:#000!important;background-color:#fff!important}
|
||||
@@ -1,38 +0,0 @@
|
||||
.social-icons {
|
||||
color: #313437;
|
||||
background-color: #fff;
|
||||
padding: 70px 0;
|
||||
}
|
||||
|
||||
@media (max-width:767px) {
|
||||
.social-icons {
|
||||
padding: 50px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:500px) {
|
||||
img.profile {
|
||||
width: 200px;
|
||||
margin-left: -100px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:500px) {
|
||||
.profile-container {
|
||||
height: 200px;
|
||||
margin-top: 2em !important;
|
||||
}
|
||||
}
|
||||
|
||||
.social-icons i {
|
||||
color: #757980;
|
||||
margin: 0 10px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border: 1px solid #c8ced7;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
line-height: 60px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
1742
assets/css/animate.min.css
vendored
1742
assets/css/animate.min.css
vendored
File diff suppressed because it is too large
Load Diff
1
assets/css/animate.min.min.css
vendored
1
assets/css/animate.min.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -1,11 +0,0 @@
|
||||
body.about-body {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
transition: 2s;
|
||||
height: 101%;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
1
assets/css/fixes.min.css
vendored
1
assets/css/fixes.min.css
vendored
@@ -1 +0,0 @@
|
||||
body.about-body{position:absolute;top:0;transition:2s;height:101%}::-webkit-scrollbar{display:none}
|
||||
@@ -1,13 +0,0 @@
|
||||
img.no-drag {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
img.fog {
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
1
assets/css/index.min.css
vendored
1
assets/css/index.min.css
vendored
@@ -1 +0,0 @@
|
||||
img.no-drag{pointer-events:none}img.fog{pointer-events:none;position:absolute;left:0;top:0;width:100%;height:100%}
|
||||
1
assets/css/parallax.min.css
vendored
1
assets/css/parallax.min.css
vendored
@@ -1 +0,0 @@
|
||||
.main{position:relative;height:100vh;width:99vw;overflow:hidden}.parallax{pointer-events:none;transition:none}.bg-img{position:absolute;width:194.44%;top:1.86%;left:50.69%;z-index:1}.fog-7{position:absolute;z-index:2;top:37.7%;left:70.8%;width:132%}.mountain-10{position:absolute;z-index:3;top:63.58%;width:71.52%;left:67.84%}.fog-6{position:absolute;z-index:4;top:62.09%;left:50.4%;width:129.3%}.mountain-9{position:absolute;z-index:5;top:63.95%;width:32.63%;left:18.3%}.mountain-8{position:absolute;z-index:6;top:60.6%;width:56.25%;left:36%}.fog-5{position:absolute;z-index:7;top:69.7%;left:51.3%;width:31.25%}.mountain-7{position:absolute;z-index:8;width:37.36%;top:65.18%;left:71.18%}.text{position:absolute;z-index:9;top:34%;left:50%;text-align:center;text-transform:uppercase;color:#fff;pointer-events:auto}.text .para1{font-weight:100;line-height:.88}.text .para2{font-weight:800}.mountain-6{position:absolute;z-index:10;top:57.4%;width:28.33%;left:90.97%}.fog-4{position:absolute;z-index:11;top:77.7%;left:45.84%;width:40.27%}.mountain-5{position:absolute;z-index:12;top:80.86%;width:43.4%;left:59%}.fog-3{position:absolute;z-index:13;top:63.58%;left:48.27%;width:107.63%}.mountain-4{position:absolute;z-index:14;top:74.19%;width:54.16%;left:23.55%}.mountain-3{position:absolute;z-index:15;top:61.35%;left:101.11%;width:32.22%}.fog-2{position:absolute;z-index:16;top:68.14%;left:48%;width:108.33%}.mountain-2{position:absolute;z-index:17;top:69.01%;left:78.61%;width:47.91%}.mountain-1{position:absolute;z-index:18;top:52%;left:8.27%;width:37.15%}.sun-rays{position:absolute;z-index:19;top:0;right:0;width:41.31%;pointer-events:none}.black-shadow{position:absolute;z-index:20;bottom:0;right:0;pointer-events:none;width:100%}.fog-1{position:absolute;z-index:21;top:59.26%;left:50.69%;width:111.8%}.vignette{position:absolute;z-index:100;width:100%;height:100%;top:0;left:0;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 65%,rgba(0,0,0,.7));pointer-events:none}@media (max-width:1100px){.text h1{font-size:5.8rem}.text h2{display:none}}@media (max-width:725px){.bg-img{width:initial;height:208.1%}.fog-7{width:initial;height:146.17%}.mountain-10{width:initial;height:77.59%}.fog-6{width:initial;height:73.11%}.mountain-9{height:87.64%;width:initial}.mountain-8{height:84.33%;width:initial}.fog-5{width:initial;height:54.16%}.mountain-7{width:initial;height:72.26%}.mountain-6{width:initial;height:56.78%}.fog-4{width:initial;height:104.5%}.mountain-5{width:initial;height:60.64%}.fog-3{width:initial;height:90.78%}.mountain-4{width:initial;height:71.42%}.mountain-3{width:initial;height:96.86%}.fog-2{width:initial;height:84.73%}.mountain-2{display:none}.mountain-1{width:initial;height:100.03%}.fog-1{width:initial;height:89.86%}}@media (max-width:520px){.text h1{font-size:3.3rem}.text h2{font-size:2.6rem}}
|
||||
@@ -1,28 +0,0 @@
|
||||
.hide_underline {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.invert {
|
||||
filter: invert(1);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 800px) {
|
||||
.masthead {
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* For screen under 450 px set the nav icon width 100% */
|
||||
|
||||
@media screen and (max-width: 450px) {
|
||||
img.navicon {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 450px) {
|
||||
#navbar {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
1
assets/css/podcast.min.css
vendored
1
assets/css/podcast.min.css
vendored
@@ -1 +0,0 @@
|
||||
.hide_underline{text-decoration:none}.invert{filter:invert(1)}@media screen and (max-width:800px){.masthead{padding-top:0!important}}@media screen and (max-width:450px){img.navicon{width:100%}#navbar{padding-left:0!important}}
|
||||
@@ -1,24 +0,0 @@
|
||||
.profile-container {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
img.profile {
|
||||
width: 300px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -150px;
|
||||
aspect-ratio: 1;
|
||||
padding-top: calc(var(--s)/5);
|
||||
transform: scale(1);
|
||||
transition: .5s;
|
||||
}
|
||||
|
||||
img.foreground {
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
img.background:hover {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
1
assets/css/profile.min.css
vendored
1
assets/css/profile.min.css
vendored
@@ -1 +0,0 @@
|
||||
.profile-container{height:300px}img.profile{width:300px;position:absolute;left:50%;margin-left:-150px;aspect-ratio:1;padding-top:calc(var(--s)/5);transform:scale(1);transition:.5s}img.foreground{border-radius:50%;pointer-events:none}img.background:hover{filter:blur(5px)}
|
||||
@@ -1,104 +0,0 @@
|
||||
.profile-container {
|
||||
/*margin-left: calc(10% - 10px);*/
|
||||
height: 170px;
|
||||
width: 170px;
|
||||
z-index: 2;
|
||||
left: 10%;
|
||||
}
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
margin-left: calc(100px);
|
||||
width: calc(100% - 100px);
|
||||
padding: 1em;
|
||||
margin-top: -225px;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.title > * {
|
||||
width: 100%;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
img.profile {
|
||||
left: 10px;
|
||||
width: 150px;
|
||||
position: absolute;
|
||||
aspect-ratio: 1;
|
||||
transform: scale(1);
|
||||
transition: .5s;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
img.background2 {
|
||||
left: 0px;
|
||||
width: 170px !important;
|
||||
margin-top: -10px;
|
||||
pointer-events: none;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
img.foreground {
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
img.background:hover {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
.spacer {
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
/* For small screens */
|
||||
|
||||
img.profilesml {
|
||||
width: 150px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -75px;
|
||||
aspect-ratio: 1;
|
||||
padding-top: calc(var(--s)/5);
|
||||
transform: scale(1);
|
||||
transition: .5s;
|
||||
}
|
||||
|
||||
img.foregroundsml {
|
||||
border-radius: 50%;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
img.backgroundsml:hover {
|
||||
filter: blur(5px);
|
||||
}
|
||||
|
||||
img.background2sml {
|
||||
width: 170px !important;
|
||||
left: calc(50% - 10px);
|
||||
margin-top: -10px;
|
||||
pointer-events: none;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/* For printing set colour to black */
|
||||
|
||||
@media print {
|
||||
div {
|
||||
color: black !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.noprintbreak {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
}
|
||||
|
||||
@media print {
|
||||
.edu-main {
|
||||
page-break-before: always;
|
||||
}
|
||||
}
|
||||
|
||||
1
assets/css/resume.min.css
vendored
1
assets/css/resume.min.css
vendored
@@ -1 +0,0 @@
|
||||
.profile-container{height:170px;width:170px;z-index:2;left:10%}.title{position:absolute;margin-left:calc(100px);width:calc(100% - 100px);padding:1em;margin-top:-225px;z-index:0}.title>*{width:100%;margin-bottom:0}img.profile{left:10px;width:150px;position:absolute;aspect-ratio:1;transform:scale(1);transition:.5s;z-index:2}img.background2{left:0;width:170px!important;margin-top:-10px;pointer-events:none;z-index:1}img.foreground{border-radius:50%;pointer-events:none;z-index:3}img.background:hover,img.backgroundsml:hover{filter:blur(5px)}.spacer{height:100px}img.profilesml{width:150px;position:absolute;left:50%;margin-left:-75px;aspect-ratio:1;padding-top:calc(var(--s)/5);transform:scale(1);transition:.5s}img.foregroundsml{border-radius:50%;pointer-events:none}img.background2sml{width:170px!important;left:calc(50% - 10px);margin-top:-10px;pointer-events:none;z-index:0}@media print{div{color:#000!important}.noprintbreak{page-break-inside:avoid}.edu-main{page-break-before:always}}
|
||||
1
assets/css/styles.min.css
vendored
1
assets/css/styles.min.css
vendored
@@ -1 +0,0 @@
|
||||
.social-icons{color:#313437;background-color:#fff;padding:70px 0}@media (max-width:767px){.social-icons{padding:50px 0}}@media (max-width:500px){img.profile{width:200px;margin-left:-100px}.profile-container{height:200px;margin-top:2em!important}}.social-icons i{color:#757980;margin:0 10px;width:60px;height:60px;border:1px solid #c8ced7;text-align:center;border-radius:50%;line-height:60px;display:inline-block}
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 692 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user