Commit 19e7865
committed
feat(paywall): chain-aware faucetUrl resolution across TS/Python/Go SDKs
Adds a 4-layer precedence chain for the testnet 'Need {token} on {chain}?
Get some here' link in the paywall:
1. PaywallConfig.faucetUrls[caip2] per-chain consumer override
2. PaywallConfig.faucetUrl global consumer override
3. Chain registry default DEFAULT_STABLECOINS[caip2].faucetUrl (EVM),
USDC_CONFIG[caip2].faucetUrl (AVM),
inline build-time map (SVM)
4. Hardcoded fallback https://faucet.circle.com/ (EVM/SVM),
Algorand testnet dispenser (AVM)
SDK parity: TypeScript, Python, Go each expose
PaywallConfig.{faucetUrl, faucetUrls} and AssetInfo.faucetUrl on EVM and SVM.
Covers all three paywall mechanisms (EVM, SVM, AVM).
Mainnet entries intentionally leave faucetUrl unset since the paywall faucet
UI is testnet-gated and never renders the link on mainnet.
Backwards compatibility: every layer is opt-in. Unconfigured callers see the
same testnet link as today on every existing chain (the hardcoded fallback).
No public API removed or renamed; pure additive change.
Closes #21591 parent 12708ef commit 19e7865
44 files changed
Lines changed: 878 additions & 42 deletions
File tree
- go
- .changes/unreleased
- http
- mechanisms
- evm
- svm
- python/x402
- changelog.d
- http
- paywall
- mechanisms
- evm
- svm
- tests/unit/http
- typescript
- .changeset
- packages
- http/paywall/src
- avm
- gen
- evm
- gen
- svm
- gen
- mechanisms
- avm/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
322 | 324 | | |
323 | 325 | | |
324 | 326 | | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
325 | 425 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
48 | 55 | | |
49 | 56 | | |
50 | 57 | | |
51 | 58 | | |
52 | 59 | | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
53 | 65 | | |
54 | 66 | | |
55 | 67 | | |
| |||
962 | 974 | | |
963 | 975 | | |
964 | 976 | | |
| 977 | + | |
| 978 | + | |
965 | 979 | | |
966 | 980 | | |
967 | 981 | | |
968 | 982 | | |
969 | 983 | | |
970 | 984 | | |
| 985 | + | |
| 986 | + | |
971 | 987 | | |
972 | 988 | | |
973 | 989 | | |
| |||
986 | 1002 | | |
987 | 1003 | | |
988 | 1004 | | |
989 | | - | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
990 | 1008 | | |
991 | 1009 | | |
992 | 1010 | | |
| |||
996 | 1014 | | |
997 | 1015 | | |
998 | 1016 | | |
| 1017 | + | |
| 1018 | + | |
999 | 1019 | | |
1000 | 1020 | | |
1001 | 1021 | | |
| |||
1050 | 1070 | | |
1051 | 1071 | | |
1052 | 1072 | | |
| 1073 | + | |
| 1074 | + | |
1053 | 1075 | | |
1054 | 1076 | | |
1055 | 1077 | | |
1056 | 1078 | | |
1057 | 1079 | | |
1058 | 1080 | | |
| 1081 | + | |
| 1082 | + | |
1059 | 1083 | | |
1060 | 1084 | | |
1061 | 1085 | | |
| |||
1072 | 1096 | | |
1073 | 1097 | | |
1074 | 1098 | | |
1075 | | - | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
1076 | 1102 | | |
1077 | 1103 | | |
1078 | 1104 | | |
| |||
1082 | 1108 | | |
1083 | 1109 | | |
1084 | 1110 | | |
| 1111 | + | |
| 1112 | + | |
1085 | 1113 | | |
1086 | 1114 | | |
1087 | 1115 | | |
1088 | 1116 | | |
1089 | 1117 | | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
1090 | 1142 | | |
1091 | 1143 | | |
1092 | 1144 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
113 | 114 | | |
114 | 115 | | |
115 | 116 | | |
| |||
144 | 145 | | |
145 | 146 | | |
146 | 147 | | |
| 148 | + | |
147 | 149 | | |
148 | 150 | | |
149 | 151 | | |
| |||
160 | 162 | | |
161 | 163 | | |
162 | 164 | | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
167 | 170 | | |
168 | 171 | | |
169 | 172 | | |
| |||
190 | 193 | | |
191 | 194 | | |
192 | 195 | | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
197 | 201 | | |
198 | 202 | | |
199 | 203 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
306 | 312 | | |
307 | 313 | | |
308 | 314 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
90 | | - | |
91 | | - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
92 | 93 | | |
93 | 94 | | |
94 | 95 | | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
98 | 99 | | |
99 | | - | |
100 | | - | |
101 | | - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
102 | 104 | | |
103 | 105 | | |
104 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
62 | 68 | | |
63 | 69 | | |
64 | 70 | | |
| |||
0 commit comments