@domino-sdk/relay 0.23.1 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,12 +18,31 @@ import {
18
18
  referralHistorySchema,
19
19
  referralSummarySchema,
20
20
  validateAuthoringIdentity
21
- } from "./chunk-ZOL7RYHW.js";
21
+ } from "./chunk-AKB266O5.js";
22
22
  import {
23
23
  authScopeSchema,
24
24
  exchangeResultSchema,
25
- sessionSchema
26
- } from "./chunk-57TGYC5Y.js";
25
+ linkedWalletSchema,
26
+ memberSummarySchema,
27
+ sessionSchema,
28
+ walletAddressInput,
29
+ walletAddressInputSchema,
30
+ walletChallengeInputSchema,
31
+ walletChallengeSchema,
32
+ walletConnectionSchema,
33
+ walletMessageChallengeSchema,
34
+ walletProofSchema,
35
+ walletSignInNetworkSchema,
36
+ walletSignatureSchema,
37
+ walletUnlinkInputSchema
38
+ } from "./chunk-7QICEKC2.js";
39
+ import {
40
+ AVATAR_UPLOAD_LIMIT,
41
+ avatarUploadTypes,
42
+ ownProfileSchema,
43
+ profileUpdateSchema,
44
+ publicProfileSchema
45
+ } from "./chunk-D6BX627V.js";
27
46
  import {
28
47
  accountConnectionSchema,
29
48
  attemptSchema,
@@ -62,7 +81,7 @@ import {
62
81
  validateSubmissionValue,
63
82
  valueEvidenceSchema,
64
83
  xTweetSchema
65
- } from "./chunk-UYS522ER.js";
84
+ } from "./chunk-IXLY3A7B.js";
66
85
 
67
86
  // src/point-ledgers.ts
68
87
  import { z } from "zod";
@@ -823,35 +842,593 @@ function observeProgress(transport, listener, options = {}, onDispose = () => {
823
842
  // src/index.ts
824
843
  import { z as z11 } from "zod";
825
844
 
826
- // src/wallet.ts
845
+ // src/evm-chains.ts
827
846
  import { z as z5 } from "zod";
828
- var solanaAddressSchema = z5.string().min(32).max(44).regex(/^[1-9A-HJ-NP-Za-km-z]+$/);
829
- var walletConnectionSchema = z5.object({
830
- chain: z5.literal("solana"),
831
- address: solanaAddressSchema,
832
- verifiedAt: z5.number().int().nonnegative(),
833
- revision: z5.number().int().positive()
834
- }).strict();
835
- var walletChallengeInputSchema = z5.object({
836
- chain: z5.literal("solana"),
837
- address: solanaAddressSchema
838
- }).strict();
839
- var walletChallengeSchema = walletChallengeInputSchema.extend({
840
- id: z5.string().uuid(),
841
- message: z5.string(),
842
- expiresAt: z5.number()
843
- });
844
- var walletProofSchema = z5.object({
845
- challenge: z5.string().uuid(),
846
- signature: z5.string().min(64).max(88).regex(/^[1-9A-HJ-NP-Za-km-z]+$/)
847
- }).strict();
848
- var solanaBalanceSchema = z5.object({
849
- address: solanaAddressSchema,
850
- network: z5.literal("mainnet-beta"),
851
- lamports: z5.string().regex(/^(0|[1-9][0-9]*)$/),
852
- slot: z5.number().int().nonnegative().safe(),
853
- observedAt: z5.number().int().nonnegative()
854
- }).strict();
847
+ var evmChains = {
848
+ "eip155:1": { network: "ethereum", name: "Ethereum", testnet: false },
849
+ "eip155:10": { network: "optimism", name: "Optimism", testnet: false },
850
+ "eip155:14": { network: "flare", name: "Flare", testnet: false },
851
+ "eip155:25": { network: "cronos", name: "Cronos", testnet: false },
852
+ "eip155:30": { network: "rootstock", name: "Rootstock", testnet: false },
853
+ "eip155:31": {
854
+ network: "rootstock-testnet",
855
+ name: "Rootstock Testnet",
856
+ testnet: true
857
+ },
858
+ "eip155:40": { network: "telos", name: "Telos", testnet: false },
859
+ "eip155:50": { network: "xdc", name: "XDC", testnet: false },
860
+ "eip155:51": { network: "xdc-testnet", name: "XDC Testnet", testnet: true },
861
+ "eip155:56": { network: "bsc", name: "BNB Smart Chain", testnet: false },
862
+ "eip155:61": {
863
+ network: "ethereum-classic",
864
+ name: "Ethereum Classic",
865
+ testnet: false
866
+ },
867
+ "eip155:66": { network: "oktc", name: "OKT Chain", testnet: false },
868
+ "eip155:88": { network: "viction", name: "Viction", testnet: false },
869
+ "eip155:89": {
870
+ network: "viction-testnet",
871
+ name: "Viction Testnet",
872
+ testnet: true
873
+ },
874
+ "eip155:97": {
875
+ network: "bsc-testnet",
876
+ name: "BNB Smart Chain Testnet",
877
+ testnet: true
878
+ },
879
+ "eip155:100": { network: "gnosis", name: "Gnosis", testnet: false },
880
+ "eip155:109": { network: "shibarium", name: "Shibarium", testnet: false },
881
+ "eip155:114": {
882
+ network: "flare-testnet",
883
+ name: "Flare Testnet",
884
+ testnet: true
885
+ },
886
+ "eip155:122": { network: "fuse", name: "Fuse", testnet: false },
887
+ "eip155:130": { network: "unichain", name: "Unichain", testnet: false },
888
+ "eip155:133": {
889
+ network: "hashkey-testnet",
890
+ name: "HashKey Testnet",
891
+ testnet: true
892
+ },
893
+ "eip155:137": { network: "polygon", name: "Polygon", testnet: false },
894
+ "eip155:143": { network: "monad-mainnet", name: "Monad", testnet: false },
895
+ "eip155:146": { network: "sonic", name: "Sonic", testnet: false },
896
+ "eip155:169": {
897
+ network: "manta-pacific",
898
+ name: "Manta Pacific Mainnet",
899
+ testnet: false
900
+ },
901
+ "eip155:177": { network: "hashkey", name: "HashKey", testnet: false },
902
+ "eip155:196": { network: "xlayer", name: "XLayer", testnet: false },
903
+ "eip155:199": { network: "bittorrent", name: "BitTorrent", testnet: false },
904
+ "eip155:204": { network: "opbnb", name: "opBNB", testnet: false },
905
+ "eip155:223": { network: "bsquared", name: "B\xB2 Network", testnet: false },
906
+ "eip155:232": { network: "lens", name: "Lens Network", testnet: false },
907
+ "eip155:239": { network: "tac", name: "Tac", testnet: false },
908
+ "eip155:240": {
909
+ network: "cronos-zkevm-testnet",
910
+ name: "Cronos zkEVM Testnet",
911
+ testnet: true
912
+ },
913
+ "eip155:250": { network: "fantom", name: "Fantom", testnet: false },
914
+ "eip155:252": { network: "fraxtal", name: "Fraxtal", testnet: false },
915
+ "eip155:288": { network: "boba-eth", name: "Boba Ethereum", testnet: false },
916
+ "eip155:291": { network: "orderly", name: "Orderly", testnet: false },
917
+ "eip155:300": {
918
+ network: "zksync-sepolia",
919
+ name: "zkSync Era Sepolia",
920
+ testnet: true
921
+ },
922
+ "eip155:314": { network: "filecoin", name: "Filecoin", testnet: false },
923
+ "eip155:324": { network: "zksync", name: "zkSync Era", testnet: false },
924
+ "eip155:338": {
925
+ network: "cronos-testnet",
926
+ name: "Cronos Testnet",
927
+ testnet: true
928
+ },
929
+ "eip155:388": {
930
+ network: "cronos-zkevm",
931
+ name: "Cronos zkEVM",
932
+ testnet: false
933
+ },
934
+ "eip155:480": { network: "worldchain", name: "Worldchain", testnet: false },
935
+ "eip155:592": { network: "astar", name: "Astar", testnet: false },
936
+ "eip155:919": {
937
+ network: "mode-testnet",
938
+ name: "Mode Testnet",
939
+ testnet: true
940
+ },
941
+ "eip155:945": {
942
+ network: "bittensor-testnet",
943
+ name: "Bittensor Testnet",
944
+ testnet: true
945
+ },
946
+ "eip155:964": { network: "bittensor", name: "Bittensor", testnet: false },
947
+ "eip155:988": { network: "stable", name: "Stable", testnet: false },
948
+ "eip155:998": {
949
+ network: "hyperliquid-testnet",
950
+ name: "HyperLiquid Testnet",
951
+ testnet: true
952
+ },
953
+ "eip155:999": { network: "hyperliquid", name: "HyperLiquid", testnet: false },
954
+ "eip155:1001": {
955
+ network: "klaytn-baobab",
956
+ name: "Kaia Baobab",
957
+ testnet: true
958
+ },
959
+ "eip155:1088": { network: "metis", name: "Metis", testnet: false },
960
+ "eip155:1100": { network: "dymension", name: "Dymension", testnet: false },
961
+ "eip155:1101": {
962
+ network: "polygon-zkevm",
963
+ name: "Polygon zkEVM",
964
+ testnet: false
965
+ },
966
+ "eip155:1111": { network: "wemix", name: "Wemix", testnet: false },
967
+ "eip155:1112": {
968
+ network: "wemix-testnet",
969
+ name: "Wemix Testnet",
970
+ testnet: true
971
+ },
972
+ "eip155:1114": {
973
+ network: "core-testnet",
974
+ name: "Core Testnet",
975
+ testnet: true
976
+ },
977
+ "eip155:1116": { network: "core", name: "Core", testnet: false },
978
+ "eip155:1135": { network: "lisk", name: "Lisk", testnet: false },
979
+ "eip155:1284": { network: "moonbeam", name: "Moonbeam", testnet: false },
980
+ "eip155:1285": { network: "moonriver", name: "Moonriver", testnet: false },
981
+ "eip155:1287": {
982
+ network: "moonbase-alpha",
983
+ name: "Moonbeam Moonbase Alpha",
984
+ testnet: true
985
+ },
986
+ "eip155:1301": {
987
+ network: "unichain-sepolia",
988
+ name: "Unichain Sepolia",
989
+ testnet: true
990
+ },
991
+ "eip155:1328": { network: "sei-testnet", name: "Sei Testnet", testnet: true },
992
+ "eip155:1329": { network: "sei", name: "Sei", testnet: false },
993
+ "eip155:1514": { network: "story", name: "Story", testnet: false },
994
+ "eip155:1625": {
995
+ network: "gravity-alpha",
996
+ name: "Gravity Alpha",
997
+ testnet: false
998
+ },
999
+ "eip155:1672": { network: "pharos", name: "Pharos", testnet: false },
1000
+ "eip155:1740": {
1001
+ network: "metall2-testnet",
1002
+ name: "Metal L2 Testnet",
1003
+ testnet: true
1004
+ },
1005
+ "eip155:1750": { network: "metall2", name: "Metal L2", testnet: false },
1006
+ "eip155:1829": { network: "playnance", name: "Playnance", testnet: false },
1007
+ "eip155:1868": { network: "soneium", name: "Soneium", testnet: false },
1008
+ "eip155:1923": { network: "swell", name: "Swell", testnet: false },
1009
+ "eip155:1924": {
1010
+ network: "swell-testnet",
1011
+ name: "Swell Testnet",
1012
+ testnet: true
1013
+ },
1014
+ "eip155:1946": {
1015
+ network: "soneium-minato",
1016
+ name: "Soneium Minato",
1017
+ testnet: true
1018
+ },
1019
+ "eip155:1952": {
1020
+ network: "xlayer-testnet",
1021
+ name: "XLayer Testnet",
1022
+ testnet: true
1023
+ },
1024
+ "eip155:2020": { network: "ronin", name: "Ronin", testnet: false },
1025
+ "eip155:2221": {
1026
+ network: "kava-testnet",
1027
+ name: "Kava Testnet",
1028
+ testnet: true
1029
+ },
1030
+ "eip155:2222": { network: "kava", name: "Kava", testnet: false },
1031
+ "eip155:2288": { network: "moca", name: "Moca", testnet: false },
1032
+ "eip155:2345": {
1033
+ network: "goat-mainnet-alpha",
1034
+ name: "GOAT Network Mainnet Alpha",
1035
+ testnet: false
1036
+ },
1037
+ "eip155:2366": { network: "kite", name: "Kite", testnet: false },
1038
+ "eip155:2442": {
1039
+ network: "polygon-zkevm-cardona",
1040
+ name: "Polygon zkEVM Cardona",
1041
+ testnet: true
1042
+ },
1043
+ "eip155:2523": {
1044
+ network: "fraxtal-testnet",
1045
+ name: "Fraxtal Testnet",
1046
+ testnet: true
1047
+ },
1048
+ "eip155:2741": { network: "abstract", name: "Abstract", testnet: false },
1049
+ "eip155:2818": { network: "morph", name: "Morph", testnet: false },
1050
+ "eip155:2910": { network: "morph-hoodi", name: "Morph Hoodi", testnet: true },
1051
+ "eip155:3338": { network: "peaq", name: "Peaq", testnet: false },
1052
+ "eip155:3343": { network: "edge", name: "Edge", testnet: false },
1053
+ "eip155:3637": { network: "botanix", name: "Botanix", testnet: false },
1054
+ "eip155:4200": { network: "merlin", name: "Merlin", testnet: false },
1055
+ "eip155:4202": {
1056
+ network: "lisk-sepolia",
1057
+ name: "Lisk Sepolia",
1058
+ testnet: true
1059
+ },
1060
+ "eip155:4217": { network: "tempo-mainnet", name: "Tempo", testnet: false },
1061
+ "eip155:4326": { network: "megaeth", name: "megaETH", testnet: false },
1062
+ "eip155:4460": {
1063
+ network: "orderly-testnet",
1064
+ name: "Orderly Testnet",
1065
+ testnet: true
1066
+ },
1067
+ "eip155:4663": { network: "robinhood", name: "Robinhood", testnet: false },
1068
+ "eip155:4801": {
1069
+ network: "worldchain-sepolia",
1070
+ name: "Worldchain Sepolia",
1071
+ testnet: true
1072
+ },
1073
+ "eip155:5000": { network: "mantle", name: "Mantle", testnet: false },
1074
+ "eip155:5003": {
1075
+ network: "mantle-sepolia",
1076
+ name: "Mantle Sepolia",
1077
+ testnet: true
1078
+ },
1079
+ "eip155:5042": { network: "arc", name: "Arc", testnet: false },
1080
+ "eip155:5330": { network: "superseed", name: "Superseed", testnet: false },
1081
+ "eip155:5611": {
1082
+ network: "opbnb-testnet",
1083
+ name: "opBNB Testnet",
1084
+ testnet: true
1085
+ },
1086
+ "eip155:6122": { network: "tea", name: "Tea", testnet: false },
1087
+ "eip155:7000": { network: "zeta-chain", name: "ZetaChain", testnet: false },
1088
+ "eip155:7001": {
1089
+ network: "zeta-chain-testnet",
1090
+ name: "ZetaChain Testnet",
1091
+ testnet: true
1092
+ },
1093
+ "eip155:8217": { network: "klaytn", name: "Kaia", testnet: false },
1094
+ "eip155:8453": { network: "base", name: "Base", testnet: false },
1095
+ "eip155:9745": { network: "plasma", name: "Plasma", testnet: false },
1096
+ "eip155:9746": {
1097
+ network: "plasma-testnet",
1098
+ name: "Plasma Testnet",
1099
+ testnet: true
1100
+ },
1101
+ "eip155:10143": {
1102
+ network: "monad-testnet",
1103
+ name: "Monad Testnet",
1104
+ testnet: true
1105
+ },
1106
+ "eip155:10200": {
1107
+ network: "gnosis-chiado",
1108
+ name: "Gnosis Chiado",
1109
+ testnet: true
1110
+ },
1111
+ "eip155:11124": {
1112
+ network: "abstract-sepolia",
1113
+ name: "Abstract Sepolia",
1114
+ testnet: true
1115
+ },
1116
+ "eip155:11235": { network: "haqq", name: "HAQQ", testnet: false },
1117
+ "eip155:13371": {
1118
+ network: "immutable-zkevm",
1119
+ name: "Immutable zkEVM",
1120
+ testnet: false
1121
+ },
1122
+ "eip155:13473": {
1123
+ network: "immutable-zkevm-testnet",
1124
+ name: "Immutable zkEVM Testnet",
1125
+ testnet: true
1126
+ },
1127
+ "eip155:13505": {
1128
+ network: "gravity-alpha-sepolia",
1129
+ name: "Gravity Alpha Sepolia",
1130
+ testnet: true
1131
+ },
1132
+ "eip155:14601": {
1133
+ network: "sonic-testnet-v2",
1134
+ name: "Sonic Testnet",
1135
+ testnet: true
1136
+ },
1137
+ "eip155:16602": {
1138
+ network: "0g-galileo-testnet",
1139
+ name: "0G Galileo Testnet",
1140
+ testnet: true
1141
+ },
1142
+ "eip155:16661": { network: "0g-mainnet", name: "0G", testnet: false },
1143
+ "eip155:17000": {
1144
+ network: "holesky",
1145
+ name: "Ethereum Holesky",
1146
+ testnet: true
1147
+ },
1148
+ "eip155:25327": { network: "everclear", name: "Everclear", testnet: false },
1149
+ "eip155:31611": {
1150
+ network: "mezo-testnet",
1151
+ name: "Mezo Testnet",
1152
+ testnet: true
1153
+ },
1154
+ "eip155:31612": { network: "mezo", name: "Mezo", testnet: false },
1155
+ "eip155:33111": {
1156
+ network: "apechain-curtis",
1157
+ name: "Apechain Curtis",
1158
+ testnet: true
1159
+ },
1160
+ "eip155:33139": { network: "apechain", name: "Apechain", testnet: false },
1161
+ "eip155:34443": { network: "mode", name: "Mode", testnet: false },
1162
+ "eip155:36888": { network: "abcore", name: "ABCore", testnet: false },
1163
+ "eip155:36900": { network: "adi", name: "ADI Network", testnet: false },
1164
+ "eip155:37111": {
1165
+ network: "lens-testnet",
1166
+ name: "Lens Network Testnet",
1167
+ testnet: true
1168
+ },
1169
+ "eip155:42161": { network: "arbitrum", name: "Arbitrum One", testnet: false },
1170
+ "eip155:42170": {
1171
+ network: "arbitrum-nova",
1172
+ name: "Arbitrum Nova",
1173
+ testnet: false
1174
+ },
1175
+ "eip155:42220": { network: "celo", name: "Celo", testnet: false },
1176
+ "eip155:42431": {
1177
+ network: "tempo-moderato-testnet",
1178
+ name: "Tempo Moderato Testnet",
1179
+ testnet: true
1180
+ },
1181
+ "eip155:42793": { network: "etherlink", name: "Etherlink", testnet: false },
1182
+ "eip155:43111": { network: "hemi", name: "Hemi", testnet: false },
1183
+ "eip155:43113": {
1184
+ network: "avalanche-fuji",
1185
+ name: "Avalanche Fuji",
1186
+ testnet: true
1187
+ },
1188
+ "eip155:43114": { network: "avalanche", name: "Avalanche", testnet: false },
1189
+ "eip155:46630": {
1190
+ network: "robinhood-testnet",
1191
+ name: "Robinhood Testnet",
1192
+ testnet: true
1193
+ },
1194
+ "eip155:47763": { network: "neo-x", name: "Neo X", testnet: false },
1195
+ "eip155:48898": {
1196
+ network: "zircuit-garfield-testnet",
1197
+ name: "Zircuit Garfield",
1198
+ testnet: true
1199
+ },
1200
+ "eip155:48900": {
1201
+ network: "zircuit-mainnet",
1202
+ name: "Zircuit",
1203
+ testnet: false
1204
+ },
1205
+ "eip155:53302": {
1206
+ network: "superseed-sepolia",
1207
+ name: "Superseed Sepolia",
1208
+ testnet: true
1209
+ },
1210
+ "eip155:54211": {
1211
+ network: "haqq-testnet",
1212
+ name: "HAQQ Testnet",
1213
+ testnet: true
1214
+ },
1215
+ "eip155:57073": { network: "ink", name: "Ink", testnet: false },
1216
+ "eip155:59141": {
1217
+ network: "linea-sepolia",
1218
+ name: "Linea Sepolia",
1219
+ testnet: true
1220
+ },
1221
+ "eip155:59144": { network: "linea", name: "Linea", testnet: false },
1222
+ "eip155:60808": { network: "bob", name: "BOB", testnet: false },
1223
+ "eip155:61901": {
1224
+ network: "mova-mainnet-v2",
1225
+ name: "Mova Mainnet V2",
1226
+ testnet: false
1227
+ },
1228
+ "eip155:80002": {
1229
+ network: "polygon-amoy",
1230
+ name: "Polygon Amoy",
1231
+ testnet: true
1232
+ },
1233
+ "eip155:80069": {
1234
+ network: "berachain-bepolia",
1235
+ name: "Berachain Bepolia",
1236
+ testnet: true
1237
+ },
1238
+ "eip155:80094": { network: "berachain", name: "Berachain", testnet: false },
1239
+ "eip155:81457": { network: "blast", name: "Blast", testnet: false },
1240
+ "eip155:84532": {
1241
+ network: "base-sepolia",
1242
+ name: "Base Sepolia",
1243
+ testnet: true
1244
+ },
1245
+ "eip155:97476": {
1246
+ network: "doma-testnet",
1247
+ name: "Doma Testnet",
1248
+ testnet: true
1249
+ },
1250
+ "eip155:97477": { network: "doma", name: "Doma", testnet: false },
1251
+ "eip155:98866": { network: "plume", name: "Plume", testnet: false },
1252
+ "eip155:98867": {
1253
+ network: "plume-testnet",
1254
+ name: "Plume Testnet",
1255
+ testnet: true
1256
+ },
1257
+ "eip155:102030": {
1258
+ network: "creditcoin",
1259
+ name: "Creditcoin",
1260
+ testnet: false
1261
+ },
1262
+ "eip155:102031": {
1263
+ network: "creditcoin-testnet",
1264
+ name: "Creditcoin Testnet",
1265
+ testnet: true
1266
+ },
1267
+ "eip155:127001": { network: "gravity", name: "Gravity", testnet: false },
1268
+ "eip155:167000": { network: "taiko", name: "Taiko", testnet: false },
1269
+ "eip155:167013": {
1270
+ network: "taiko-hoodi",
1271
+ name: "Taiko Hoodi",
1272
+ testnet: true
1273
+ },
1274
+ "eip155:200901": { network: "bitlayer", name: "Bitlayer", testnet: false },
1275
+ "eip155:202601": {
1276
+ network: "ronin-saigon",
1277
+ name: "Ronin Saigon",
1278
+ testnet: true
1279
+ },
1280
+ "eip155:314159": {
1281
+ network: "filecoin-calibration",
1282
+ name: "Filecoin Calibration Testnet",
1283
+ testnet: true
1284
+ },
1285
+ "eip155:421614": {
1286
+ network: "arbitrum-sepolia",
1287
+ name: "Arbitrum One Sepolia",
1288
+ testnet: true
1289
+ },
1290
+ "eip155:534351": {
1291
+ network: "scroll-sepolia",
1292
+ name: "Scroll Sepolia",
1293
+ testnet: true
1294
+ },
1295
+ "eip155:534352": { network: "scroll", name: "Scroll", testnet: false },
1296
+ "eip155:560048": { network: "hoodi", name: "Ethereum Hoodi", testnet: true },
1297
+ "eip155:656476": {
1298
+ network: "open-campus-codex-sepolia",
1299
+ name: "Open Campus Codex Sepolia",
1300
+ testnet: true
1301
+ },
1302
+ "eip155:688689": {
1303
+ network: "pharos-atlantic-testnet",
1304
+ name: "Pharos Atlantic Testnet",
1305
+ testnet: true
1306
+ },
1307
+ "eip155:713715": { network: "sei-devnet", name: "Sei Devnet", testnet: true },
1308
+ "eip155:737373": {
1309
+ network: "katana-testnet",
1310
+ name: "Katana Testnet",
1311
+ testnet: true
1312
+ },
1313
+ "eip155:743111": {
1314
+ network: "hemi-testnet",
1315
+ name: "Hemi Testnet",
1316
+ testnet: true
1317
+ },
1318
+ "eip155:747474": { network: "katana", name: "Katana", testnet: false },
1319
+ "eip155:763373": {
1320
+ network: "ink-sepolia",
1321
+ name: "Ink Sepolia",
1322
+ testnet: true
1323
+ },
1324
+ "eip155:808813": {
1325
+ network: "bob-testnet",
1326
+ name: "BOB Testnet",
1327
+ testnet: true
1328
+ },
1329
+ "eip155:1440000": { network: "xrpl", name: "XRPL", testnet: false },
1330
+ "eip155:3441006": {
1331
+ network: "manta-pacific-sepolia",
1332
+ name: "Manta Pacific Sepolia",
1333
+ testnet: true
1334
+ },
1335
+ "eip155:5042002": {
1336
+ network: "arc-testnet",
1337
+ name: "Arc Testnet",
1338
+ testnet: true
1339
+ },
1340
+ "eip155:5734951": { network: "jovay", name: "Jovay", testnet: false },
1341
+ "eip155:6281971": {
1342
+ network: "dogeos-testnet",
1343
+ name: "DogeOS Testnet",
1344
+ testnet: true
1345
+ },
1346
+ "eip155:7080969": {
1347
+ network: "humanity-testnet",
1348
+ name: "Humanity Testnet",
1349
+ testnet: true
1350
+ },
1351
+ "eip155:7777777": { network: "zora", name: "Zora", testnet: false },
1352
+ "eip155:11142220": {
1353
+ network: "celo-sepolia",
1354
+ name: "Celo Sepolia",
1355
+ testnet: true
1356
+ },
1357
+ "eip155:11155111": {
1358
+ network: "sepolia",
1359
+ name: "Ethereum Sepolia",
1360
+ testnet: true
1361
+ },
1362
+ "eip155:11155420": {
1363
+ network: "optimism-sepolia",
1364
+ name: "Optimism Sepolia",
1365
+ testnet: true
1366
+ },
1367
+ "eip155:168587773": {
1368
+ network: "blast-sepolia",
1369
+ name: "Blast Sepolia",
1370
+ testnet: true
1371
+ },
1372
+ "eip155:245022934": { network: "neon-evm", name: "Neon EVM", testnet: false },
1373
+ "eip155:728126428": {
1374
+ network: "tron",
1375
+ name: "Tron",
1376
+ testnet: false,
1377
+ nativeDecimals: 6
1378
+ },
1379
+ "eip155:999999999": {
1380
+ network: "zora-sepolia",
1381
+ name: "Zora Sepolia",
1382
+ testnet: true
1383
+ },
1384
+ "eip155:1313161554": { network: "aurora", name: "Aurora", testnet: false },
1385
+ "eip155:1313161555": {
1386
+ network: "aurora-testnet",
1387
+ name: "Aurora Testnet",
1388
+ testnet: true
1389
+ },
1390
+ "eip155:1666600000": {
1391
+ network: "harmony-0",
1392
+ name: "Harmony Mainnet Shard 0",
1393
+ testnet: false
1394
+ },
1395
+ "eip155:1666600001": {
1396
+ network: "harmony-1",
1397
+ name: "Harmony Mainnet Shard 1",
1398
+ testnet: false
1399
+ },
1400
+ "eip155:2494104990": {
1401
+ network: "tron-shasta",
1402
+ name: "Tron Shasta",
1403
+ testnet: true,
1404
+ nativeDecimals: 6
1405
+ },
1406
+ "eip155:3448148188": {
1407
+ network: "tron-nile",
1408
+ name: "Tron Nile",
1409
+ testnet: true,
1410
+ nativeDecimals: 6
1411
+ }
1412
+ };
1413
+ var evmChainSchema = z5.enum(
1414
+ Object.keys(evmChains)
1415
+ );
1416
+
1417
+ // src/avatar.ts
1418
+ import { createAvatar } from "@dicebear/core";
1419
+ import * as shapes from "@dicebear/shapes";
1420
+ function avatarSrc(avatar) {
1421
+ return avatar.source === "generated" ? defaultAvatar(avatar.seed) : avatar.url;
1422
+ }
1423
+ function defaultAvatar(seed) {
1424
+ return createAvatar(shapes, { seed }).toDataUri();
1425
+ }
1426
+ function defaultAvatarSvg(seed) {
1427
+ return createAvatar(shapes, { seed }).toString();
1428
+ }
1429
+ function walletAvatarSeed(wallet) {
1430
+ return `${wallet.chain}:${wallet.chain === "solana" ? wallet.address : wallet.address.toLowerCase()}`;
1431
+ }
855
1432
 
856
1433
  // src/collection.ts
857
1434
  import { z as z6 } from "zod";
@@ -1203,6 +1780,9 @@ function createRelayClient(options) {
1203
1780
  body: JSON.stringify(body)
1204
1781
  };
1205
1782
  }
1783
+ function sessionHeaders(session) {
1784
+ return { "Content-Type": "application/json", "X-Relay-Session": session };
1785
+ }
1206
1786
  const submission = submissions(
1207
1787
  {
1208
1788
  session: () => request("/v1/auth/session", sessionSchema.nullable()),
@@ -1293,6 +1873,57 @@ function createRelayClient(options) {
1293
1873
  );
1294
1874
  }
1295
1875
  },
1876
+ /**
1877
+ * Participant profiles: the display name and avatar other participants see where the project
1878
+ * enables profiles in Console. Render an avatar with `avatarSrc(profile.avatar)`.
1879
+ */
1880
+ profiles: {
1881
+ /** The signed-in member's own profile, whatever the project shows to others. */
1882
+ mine: () => request("/v1/me/profile", ownProfileSchema),
1883
+ /**
1884
+ * Changes the member's own name, avatar choice or visibility; omitted fields stay, and null
1885
+ * returns to the default. `session` (the ID the app read) makes a changed session a 409.
1886
+ */
1887
+ update: async (input, options2 = {}) => request("/v1/me/profile", ownProfileSchema, {
1888
+ method: "POST",
1889
+ headers: {
1890
+ "Content-Type": "application/json",
1891
+ ...options2.session ? { "X-Relay-Session": options2.session } : {}
1892
+ },
1893
+ body: JSON.stringify(profileUpdateSchema.parse(input))
1894
+ }),
1895
+ /**
1896
+ * Uploads a JPEG, PNG or WebP of at most 5 MB as the member's avatar. The server crops it to
1897
+ * a 512×512 WebP without metadata. Retrying with the same `uploadId` is idempotent.
1898
+ */
1899
+ uploadAvatar: async (file, options2 = {}) => {
1900
+ if (!avatarUploadTypes.includes(file.type)) {
1901
+ throw new RelayError("Use a JPEG, PNG or WebP image", 400);
1902
+ }
1903
+ if (file.size > AVATAR_UPLOAD_LIMIT) {
1904
+ throw new RelayError("Use an image smaller than 5 MB", 413);
1905
+ }
1906
+ return request("/v1/me/profile/avatar", ownProfileSchema, {
1907
+ method: "POST",
1908
+ headers: {
1909
+ "Content-Type": file.type,
1910
+ "X-Relay-Upload-ID": identifier.parse(
1911
+ options2.uploadId ?? crypto.randomUUID()
1912
+ ),
1913
+ ...options2.session ? { "X-Relay-Session": options2.session } : {}
1914
+ },
1915
+ body: file
1916
+ });
1917
+ },
1918
+ /**
1919
+ * A profile page by its public ID (`profile.id` from a leaderboard row or `mine()`). A
1920
+ * profile that is missing, hidden or not visible to this viewer is a 404.
1921
+ */
1922
+ get: (profile) => request(
1923
+ `/v1/profiles/${identifier.parse(profile)}`,
1924
+ publicProfileSchema
1925
+ )
1926
+ },
1296
1927
  quests: {
1297
1928
  get: getQuest,
1298
1929
  retry: async (view) => {
@@ -1349,21 +1980,73 @@ function createRelayClient(options) {
1349
1980
  return { refresh: observer.refresh, dispose: observer.dispose };
1350
1981
  }
1351
1982
  },
1983
+ /** The signed-in member's linked Solana, EVM and Cosmos wallets for this project. */
1984
+ wallets: {
1985
+ list: () => walletRequest(
1986
+ "/v1/me/wallets",
1987
+ z11.object({ wallets: z11.array(linkedWalletSchema) })
1988
+ ).then((result) => result.wallets),
1989
+ challenge: (input, session) => walletRequest(
1990
+ "/v1/me/wallets/challenge",
1991
+ walletMessageChallengeSchema,
1992
+ {
1993
+ ...json(walletAddressInputSchema.parse(input)),
1994
+ headers: sessionHeaders(session)
1995
+ }
1996
+ ),
1997
+ verify: (input, session) => walletRequest("/v1/me/wallets/verify", linkedWalletSchema, {
1998
+ ...json(walletSignatureSchema.parse(input)),
1999
+ headers: sessionHeaders(session)
2000
+ }),
2001
+ /** The address stays bound to this member: another member still cannot link it. */
2002
+ unlink: (wallet) => request(
2003
+ "/v1/me/wallets/unlink",
2004
+ z11.object({ ok: z11.literal(true) }),
2005
+ json(
2006
+ walletUnlinkInputSchema.parse({
2007
+ chain: wallet.chain,
2008
+ address: wallet.address
2009
+ })
2010
+ )
2011
+ ),
2012
+ /** Asks the signer for its address, signs the returned challenge, and links the wallet. */
2013
+ link: async (signer) => {
2014
+ const session = await request(
2015
+ "/v1/auth/session",
2016
+ sessionSchema.nullable()
2017
+ );
2018
+ if (!session) {
2019
+ throw new RelayError("Sign in to continue", 401);
2020
+ }
2021
+ const challenge = await walletRequest(
2022
+ "/v1/me/wallets/challenge",
2023
+ walletMessageChallengeSchema,
2024
+ {
2025
+ ...json(
2026
+ walletAddressInputSchema.parse(await walletAddressInput(signer))
2027
+ ),
2028
+ headers: sessionHeaders(session.id)
2029
+ }
2030
+ );
2031
+ const proof = await signer.sign(challenge.message, challenge.address);
2032
+ return walletRequest("/v1/me/wallets/verify", linkedWalletSchema, {
2033
+ ...json(
2034
+ walletSignatureSchema.parse({ challenge: challenge.id, ...proof })
2035
+ ),
2036
+ headers: sessionHeaders(session.id)
2037
+ });
2038
+ }
2039
+ },
2040
+ /** @deprecated Use `wallets` (multi-chain). This reads and replaces the newest Solana wallet. */
1352
2041
  wallet: {
1353
2042
  connection: () => walletRequest("/v1/me/wallet", walletConnectionSchema.nullable()),
1354
2043
  challenge: (input, session) => walletRequest("/v1/me/wallet/challenge", walletChallengeSchema, {
1355
2044
  ...json(walletChallengeInputSchema.parse(input)),
1356
- headers: {
1357
- "Content-Type": "application/json",
1358
- "X-Relay-Session": session
1359
- }
2045
+ headers: sessionHeaders(session)
1360
2046
  }),
1361
2047
  verify: (input, session) => walletRequest("/v1/me/wallet/verify", walletConnectionSchema, {
1362
2048
  ...json(walletProofSchema.parse(input)),
1363
- headers: {
1364
- "Content-Type": "application/json",
1365
- "X-Relay-Session": session
1366
- }
2049
+ headers: sessionHeaders(session)
1367
2050
  })
1368
2051
  },
1369
2052
  auth: {
@@ -1377,6 +2060,8 @@ function createRelayClient(options) {
1377
2060
  })
1378
2061
  ),
1379
2062
  email: z11.boolean(),
2063
+ /** The wallet sign-in this project enabled; older servers omit it. */
2064
+ wallets: z11.array(walletSignInNetworkSchema).default([]),
1380
2065
  demo: z11.boolean()
1381
2066
  })
1382
2067
  ),
@@ -1397,6 +2082,52 @@ function createRelayClient(options) {
1397
2082
  json({ challenge, code })
1398
2083
  )
1399
2084
  ),
2085
+ /**
2086
+ * Sign in, or sign up, with a Solana, EVM or Cosmos wallet where the project enabled it
2087
+ * (`providers().wallets`). A wallet the member linked while signed in cannot sign in.
2088
+ */
2089
+ wallet: {
2090
+ /** A sign-in challenge for the wallet's address; binds the flow to this browser. */
2091
+ start: (input) => request(
2092
+ "/v1/auth/wallet/start",
2093
+ walletMessageChallengeSchema,
2094
+ json(walletAddressInputSchema.parse(input))
2095
+ ),
2096
+ /** Verifies the signed challenge and starts the session. Not retried: start again instead. */
2097
+ verify: (proof) => changeSession(
2098
+ () => request(
2099
+ "/v1/auth/wallet/verify",
2100
+ sessionSchema,
2101
+ json(walletSignatureSchema.parse(proof))
2102
+ )
2103
+ ),
2104
+ /**
2105
+ * Asks the signer for its address, signs the challenge and starts the session. Throws a
2106
+ * `RelayError` with status 403 when the project has not enabled this wallet's network.
2107
+ */
2108
+ signIn: async (signer) => {
2109
+ const challenge = await request(
2110
+ "/v1/auth/wallet/start",
2111
+ walletMessageChallengeSchema,
2112
+ json(
2113
+ walletAddressInputSchema.parse(await walletAddressInput(signer))
2114
+ )
2115
+ );
2116
+ const proof = await signer.sign(challenge.message, challenge.address);
2117
+ return changeSession(
2118
+ () => request(
2119
+ "/v1/auth/wallet/verify",
2120
+ sessionSchema,
2121
+ json(
2122
+ walletSignatureSchema.parse({
2123
+ challenge: challenge.id,
2124
+ ...proof
2125
+ })
2126
+ )
2127
+ )
2128
+ );
2129
+ }
2130
+ },
1400
2131
  accounts: () => request("/v1/auth/accounts", z11.array(accountConnectionSchema)),
1401
2132
  disconnect: (provider) => request(
1402
2133
  "/v1/auth/accounts/disconnect",
@@ -1421,6 +2152,8 @@ function createRelayClient(options) {
1421
2152
  exchange: (input) => request("/v1/auth/exchange", exchangeResultSchema, json(input))
1422
2153
  },
1423
2154
  me: {
2155
+ /** The signed-in member, and the seed of their generated avatar: `defaultAvatar(avatarSeed)`. */
2156
+ get: () => request("/v1/me", memberSummarySchema),
1424
2157
  observeProgress: (listener, options2) => {
1425
2158
  const observer = observeProgress(
1426
2159
  {
@@ -1612,12 +2345,12 @@ export {
1612
2345
  QuestUpdatedError,
1613
2346
  reconcileQuestDraft,
1614
2347
  questActions,
1615
- solanaAddressSchema,
1616
- walletConnectionSchema,
1617
- walletChallengeInputSchema,
1618
- walletChallengeSchema,
1619
- walletProofSchema,
1620
- solanaBalanceSchema,
2348
+ evmChains,
2349
+ evmChainSchema,
2350
+ avatarSrc,
2351
+ defaultAvatar,
2352
+ defaultAvatarSvg,
2353
+ walletAvatarSeed,
1621
2354
  collectionCodeSchema,
1622
2355
  collectionPassSchema,
1623
2356
  collectionResolveSchema,