@medialane/sdk 0.205.0 → 0.206.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.
- package/dist/{chunk-GIBIHGSV.js → chunk-EPU52YSA.js} +24 -11
- package/dist/chunk-EPU52YSA.js.map +1 -0
- package/dist/{chunk-KGAGWULG.js → chunk-GENBWVGK.js} +8 -5
- package/dist/chunk-GENBWVGK.js.map +1 -0
- package/dist/{chunk-3HPMEDYH.cjs → chunk-MCVAZVLN.cjs} +8 -5
- package/dist/chunk-MCVAZVLN.cjs.map +1 -0
- package/dist/{chunk-ZLMIHQWM.cjs → chunk-ZYRSMDMJ.cjs} +36 -23
- package/dist/chunk-ZYRSMDMJ.cjs.map +1 -0
- package/dist/index.cjs +35 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/{services-OAVVjxQd.d.cts → services-Cy5FH8sP.d.cts} +6 -2
- package/dist/{services-DlgtOLil.d.ts → services-DWmXVwTV.d.ts} +6 -2
- package/dist/starknet/index.cjs +84 -84
- package/dist/starknet/index.d.cts +17 -4
- package/dist/starknet/index.d.ts +17 -4
- package/dist/starknet/index.js +3 -3
- package/dist/wallet/index.cjs +59 -59
- package/dist/wallet/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-3HPMEDYH.cjs.map +0 -1
- package/dist/chunk-GIBIHGSV.js.map +0 -1
- package/dist/chunk-KGAGWULG.js.map +0 -1
- package/dist/chunk-ZLMIHQWM.cjs.map +0 -1
package/dist/wallet/index.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkZYRSMDMJ_cjs = require('../chunk-ZYRSMDMJ.cjs');
|
|
4
|
+
var chunkMCVAZVLN_cjs = require('../chunk-MCVAZVLN.cjs');
|
|
5
5
|
require('../chunk-H2NJB3AK.cjs');
|
|
6
6
|
require('../chunk-W76AZ5WC.cjs');
|
|
7
7
|
require('../chunk-Q7SFCCGT.cjs');
|
|
@@ -10,231 +10,231 @@ require('../chunk-Q7SFCCGT.cjs');
|
|
|
10
10
|
|
|
11
11
|
Object.defineProperty(exports, "InvalidPairingPayloadError", {
|
|
12
12
|
enumerable: true,
|
|
13
|
-
get: function () { return
|
|
13
|
+
get: function () { return chunkZYRSMDMJ_cjs.InvalidPairingPayloadError; }
|
|
14
14
|
});
|
|
15
15
|
Object.defineProperty(exports, "InvalidRecoveryKeyError", {
|
|
16
16
|
enumerable: true,
|
|
17
|
-
get: function () { return
|
|
17
|
+
get: function () { return chunkZYRSMDMJ_cjs.InvalidRecoveryKeyError; }
|
|
18
18
|
});
|
|
19
19
|
Object.defineProperty(exports, "InvalidStarkPrivateKeyError", {
|
|
20
20
|
enumerable: true,
|
|
21
|
-
get: function () { return
|
|
21
|
+
get: function () { return chunkZYRSMDMJ_cjs.InvalidStarkPrivateKeyError; }
|
|
22
22
|
});
|
|
23
23
|
Object.defineProperty(exports, "accountFor", {
|
|
24
24
|
enumerable: true,
|
|
25
|
-
get: function () { return
|
|
25
|
+
get: function () { return chunkZYRSMDMJ_cjs.accountFor; }
|
|
26
26
|
});
|
|
27
27
|
Object.defineProperty(exports, "buildAddOwnerCall", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildAddOwnerCall; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "buildCancelEscapeCall", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildCancelEscapeCall; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "buildCompleteEscapeOwnerCall", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildCompleteEscapeOwnerCall; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "buildDeployAccountParams", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildDeployAccountParams; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "buildRemoveOwnerByGuidCall", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildRemoveOwnerByGuidCall; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "buildRemoveOwnerCall", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildRemoveOwnerCall; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "buildSetFirstGuardianCall", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildSetFirstGuardianCall; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "buildTriggerEscapeOwnerCall", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkZYRSMDMJ_cjs.buildTriggerEscapeOwnerCall; }
|
|
58
58
|
});
|
|
59
59
|
Object.defineProperty(exports, "canRemoveDevice", {
|
|
60
60
|
enumerable: true,
|
|
61
|
-
get: function () { return
|
|
61
|
+
get: function () { return chunkZYRSMDMJ_cjs.canRemoveDevice; }
|
|
62
62
|
});
|
|
63
63
|
Object.defineProperty(exports, "claimSessionWallet", {
|
|
64
64
|
enumerable: true,
|
|
65
|
-
get: function () { return
|
|
65
|
+
get: function () { return chunkZYRSMDMJ_cjs.claimSessionWallet; }
|
|
66
66
|
});
|
|
67
67
|
Object.defineProperty(exports, "completeDeployment", {
|
|
68
68
|
enumerable: true,
|
|
69
|
-
get: function () { return
|
|
69
|
+
get: function () { return chunkZYRSMDMJ_cjs.completeDeployment; }
|
|
70
70
|
});
|
|
71
71
|
Object.defineProperty(exports, "computeAccountAddress", {
|
|
72
72
|
enumerable: true,
|
|
73
|
-
get: function () { return
|
|
73
|
+
get: function () { return chunkZYRSMDMJ_cjs.computeAccountAddress; }
|
|
74
74
|
});
|
|
75
75
|
Object.defineProperty(exports, "computeOwnerGuid", {
|
|
76
76
|
enumerable: true,
|
|
77
|
-
get: function () { return
|
|
77
|
+
get: function () { return chunkZYRSMDMJ_cjs.computeOwnerGuid; }
|
|
78
78
|
});
|
|
79
79
|
Object.defineProperty(exports, "createDeploymentCoordinator", {
|
|
80
80
|
enumerable: true,
|
|
81
|
-
get: function () { return
|
|
81
|
+
get: function () { return chunkZYRSMDMJ_cjs.createDeploymentCoordinator; }
|
|
82
82
|
});
|
|
83
83
|
Object.defineProperty(exports, "createMediaWallet", {
|
|
84
84
|
enumerable: true,
|
|
85
|
-
get: function () { return
|
|
85
|
+
get: function () { return chunkZYRSMDMJ_cjs.createMediaWallet; }
|
|
86
86
|
});
|
|
87
87
|
Object.defineProperty(exports, "createOwnerStore", {
|
|
88
88
|
enumerable: true,
|
|
89
|
-
get: function () { return
|
|
89
|
+
get: function () { return chunkZYRSMDMJ_cjs.createOwnerStore; }
|
|
90
90
|
});
|
|
91
91
|
Object.defineProperty(exports, "createPasskeyOwner", {
|
|
92
92
|
enumerable: true,
|
|
93
|
-
get: function () { return
|
|
93
|
+
get: function () { return chunkZYRSMDMJ_cjs.createPasskeyOwner; }
|
|
94
94
|
});
|
|
95
95
|
Object.defineProperty(exports, "createSelfFundConsent", {
|
|
96
96
|
enumerable: true,
|
|
97
|
-
get: function () { return
|
|
97
|
+
get: function () { return chunkZYRSMDMJ_cjs.createSelfFundConsent; }
|
|
98
98
|
});
|
|
99
99
|
Object.defineProperty(exports, "decodeEscapeAndStatus", {
|
|
100
100
|
enumerable: true,
|
|
101
|
-
get: function () { return
|
|
101
|
+
get: function () { return chunkZYRSMDMJ_cjs.decodeEscapeAndStatus; }
|
|
102
102
|
});
|
|
103
103
|
Object.defineProperty(exports, "decodeGuardiansInfo", {
|
|
104
104
|
enumerable: true,
|
|
105
|
-
get: function () { return
|
|
105
|
+
get: function () { return chunkZYRSMDMJ_cjs.decodeGuardiansInfo; }
|
|
106
106
|
});
|
|
107
107
|
Object.defineProperty(exports, "deploySelfFunded", {
|
|
108
108
|
enumerable: true,
|
|
109
|
-
get: function () { return
|
|
109
|
+
get: function () { return chunkZYRSMDMJ_cjs.deploySelfFunded; }
|
|
110
110
|
});
|
|
111
111
|
Object.defineProperty(exports, "deploySponsored", {
|
|
112
112
|
enumerable: true,
|
|
113
|
-
get: function () { return
|
|
113
|
+
get: function () { return chunkZYRSMDMJ_cjs.deploySponsored; }
|
|
114
114
|
});
|
|
115
115
|
Object.defineProperty(exports, "deriveAesKey", {
|
|
116
116
|
enumerable: true,
|
|
117
|
-
get: function () { return
|
|
117
|
+
get: function () { return chunkZYRSMDMJ_cjs.deriveAesKey; }
|
|
118
118
|
});
|
|
119
119
|
Object.defineProperty(exports, "deriveOwnerKeyPair", {
|
|
120
120
|
enumerable: true,
|
|
121
|
-
get: function () { return
|
|
121
|
+
get: function () { return chunkZYRSMDMJ_cjs.deriveOwnerKeyPair; }
|
|
122
122
|
});
|
|
123
123
|
Object.defineProperty(exports, "describeDevices", {
|
|
124
124
|
enumerable: true,
|
|
125
|
-
get: function () { return
|
|
125
|
+
get: function () { return chunkZYRSMDMJ_cjs.describeDevices; }
|
|
126
126
|
});
|
|
127
127
|
Object.defineProperty(exports, "describeGuardianStatus", {
|
|
128
128
|
enumerable: true,
|
|
129
|
-
get: function () { return
|
|
129
|
+
get: function () { return chunkZYRSMDMJ_cjs.describeGuardianStatus; }
|
|
130
130
|
});
|
|
131
131
|
Object.defineProperty(exports, "describeRecoveryAction", {
|
|
132
132
|
enumerable: true,
|
|
133
|
-
get: function () { return
|
|
133
|
+
get: function () { return chunkZYRSMDMJ_cjs.describeRecoveryAction; }
|
|
134
134
|
});
|
|
135
135
|
Object.defineProperty(exports, "encodePairingPayload", {
|
|
136
136
|
enumerable: true,
|
|
137
|
-
get: function () { return
|
|
137
|
+
get: function () { return chunkZYRSMDMJ_cjs.encodePairingPayload; }
|
|
138
138
|
});
|
|
139
139
|
Object.defineProperty(exports, "encodeRecoveryKey", {
|
|
140
140
|
enumerable: true,
|
|
141
|
-
get: function () { return
|
|
141
|
+
get: function () { return chunkZYRSMDMJ_cjs.encodeRecoveryKey; }
|
|
142
142
|
});
|
|
143
143
|
Object.defineProperty(exports, "estimateSelfFundedFee", {
|
|
144
144
|
enumerable: true,
|
|
145
|
-
get: function () { return
|
|
145
|
+
get: function () { return chunkZYRSMDMJ_cjs.estimateSelfFundedFee; }
|
|
146
146
|
});
|
|
147
147
|
Object.defineProperty(exports, "generateStarkKeyPair", {
|
|
148
148
|
enumerable: true,
|
|
149
|
-
get: function () { return
|
|
149
|
+
get: function () { return chunkZYRSMDMJ_cjs.generateStarkKeyPair; }
|
|
150
150
|
});
|
|
151
151
|
Object.defineProperty(exports, "getEscape", {
|
|
152
152
|
enumerable: true,
|
|
153
|
-
get: function () { return
|
|
153
|
+
get: function () { return chunkZYRSMDMJ_cjs.getEscape; }
|
|
154
154
|
});
|
|
155
155
|
Object.defineProperty(exports, "getEscapeSecurityPeriod", {
|
|
156
156
|
enumerable: true,
|
|
157
|
-
get: function () { return
|
|
157
|
+
get: function () { return chunkZYRSMDMJ_cjs.getEscapeSecurityPeriod; }
|
|
158
158
|
});
|
|
159
159
|
Object.defineProperty(exports, "getGuardians", {
|
|
160
160
|
enumerable: true,
|
|
161
|
-
get: function () { return
|
|
161
|
+
get: function () { return chunkZYRSMDMJ_cjs.getGuardians; }
|
|
162
162
|
});
|
|
163
163
|
Object.defineProperty(exports, "getOwners", {
|
|
164
164
|
enumerable: true,
|
|
165
|
-
get: function () { return
|
|
165
|
+
get: function () { return chunkZYRSMDMJ_cjs.getOwners; }
|
|
166
166
|
});
|
|
167
167
|
Object.defineProperty(exports, "indexedDbDeviceKeys", {
|
|
168
168
|
enumerable: true,
|
|
169
|
-
get: function () { return
|
|
169
|
+
get: function () { return chunkZYRSMDMJ_cjs.indexedDbDeviceKeys; }
|
|
170
170
|
});
|
|
171
171
|
Object.defineProperty(exports, "isDeployed", {
|
|
172
172
|
enumerable: true,
|
|
173
|
-
get: function () { return
|
|
173
|
+
get: function () { return chunkZYRSMDMJ_cjs.isDeployed; }
|
|
174
174
|
});
|
|
175
175
|
Object.defineProperty(exports, "isValidStarknetAddress", {
|
|
176
176
|
enumerable: true,
|
|
177
|
-
get: function () { return
|
|
177
|
+
get: function () { return chunkZYRSMDMJ_cjs.isValidStarknetAddress; }
|
|
178
178
|
});
|
|
179
179
|
Object.defineProperty(exports, "normalizeWalletAddress", {
|
|
180
180
|
enumerable: true,
|
|
181
|
-
get: function () { return
|
|
181
|
+
get: function () { return chunkZYRSMDMJ_cjs.normalizeWalletAddress; }
|
|
182
182
|
});
|
|
183
183
|
Object.defineProperty(exports, "ownerConstructorCalldata", {
|
|
184
184
|
enumerable: true,
|
|
185
|
-
get: function () { return
|
|
185
|
+
get: function () { return chunkZYRSMDMJ_cjs.ownerConstructorCalldata; }
|
|
186
186
|
});
|
|
187
187
|
Object.defineProperty(exports, "parseAccountAddress", {
|
|
188
188
|
enumerable: true,
|
|
189
|
-
get: function () { return
|
|
189
|
+
get: function () { return chunkZYRSMDMJ_cjs.parseAccountAddress; }
|
|
190
190
|
});
|
|
191
191
|
Object.defineProperty(exports, "parsePairingPayload", {
|
|
192
192
|
enumerable: true,
|
|
193
|
-
get: function () { return
|
|
193
|
+
get: function () { return chunkZYRSMDMJ_cjs.parsePairingPayload; }
|
|
194
194
|
});
|
|
195
195
|
Object.defineProperty(exports, "parseRecoveryKey", {
|
|
196
196
|
enumerable: true,
|
|
197
|
-
get: function () { return
|
|
197
|
+
get: function () { return chunkZYRSMDMJ_cjs.parseRecoveryKey; }
|
|
198
198
|
});
|
|
199
199
|
Object.defineProperty(exports, "sealPrivateKey", {
|
|
200
200
|
enumerable: true,
|
|
201
|
-
get: function () { return
|
|
201
|
+
get: function () { return chunkZYRSMDMJ_cjs.sealPrivateKey; }
|
|
202
202
|
});
|
|
203
203
|
Object.defineProperty(exports, "selfFundedExecutor", {
|
|
204
204
|
enumerable: true,
|
|
205
|
-
get: function () { return
|
|
205
|
+
get: function () { return chunkZYRSMDMJ_cjs.selfFundedExecutor; }
|
|
206
206
|
});
|
|
207
207
|
Object.defineProperty(exports, "signWithPrivateKey", {
|
|
208
208
|
enumerable: true,
|
|
209
|
-
get: function () { return
|
|
209
|
+
get: function () { return chunkZYRSMDMJ_cjs.signWithPrivateKey; }
|
|
210
210
|
});
|
|
211
211
|
Object.defineProperty(exports, "sponsoredExecutor", {
|
|
212
212
|
enumerable: true,
|
|
213
|
-
get: function () { return
|
|
213
|
+
get: function () { return chunkZYRSMDMJ_cjs.sponsoredExecutor; }
|
|
214
214
|
});
|
|
215
215
|
Object.defineProperty(exports, "starkKeyPairFromPrivateKey", {
|
|
216
216
|
enumerable: true,
|
|
217
|
-
get: function () { return
|
|
217
|
+
get: function () { return chunkZYRSMDMJ_cjs.starkKeyPairFromPrivateKey; }
|
|
218
218
|
});
|
|
219
219
|
Object.defineProperty(exports, "unsealPrivateKey", {
|
|
220
220
|
enumerable: true,
|
|
221
|
-
get: function () { return
|
|
221
|
+
get: function () { return chunkZYRSMDMJ_cjs.unsealPrivateKey; }
|
|
222
222
|
});
|
|
223
223
|
Object.defineProperty(exports, "waitUntilDeployed", {
|
|
224
224
|
enumerable: true,
|
|
225
|
-
get: function () { return
|
|
225
|
+
get: function () { return chunkZYRSMDMJ_cjs.waitUntilDeployed; }
|
|
226
226
|
});
|
|
227
227
|
Object.defineProperty(exports, "DeviceKeyMissingError", {
|
|
228
228
|
enumerable: true,
|
|
229
|
-
get: function () { return
|
|
229
|
+
get: function () { return chunkMCVAZVLN_cjs.DeviceKeyMissingError; }
|
|
230
230
|
});
|
|
231
231
|
Object.defineProperty(exports, "PasskeyCancelledError", {
|
|
232
232
|
enumerable: true,
|
|
233
|
-
get: function () { return
|
|
233
|
+
get: function () { return chunkMCVAZVLN_cjs.PasskeyCancelledError; }
|
|
234
234
|
});
|
|
235
235
|
Object.defineProperty(exports, "PasskeyUnsupportedError", {
|
|
236
236
|
enumerable: true,
|
|
237
|
-
get: function () { return
|
|
237
|
+
get: function () { return chunkMCVAZVLN_cjs.PasskeyUnsupportedError; }
|
|
238
238
|
});
|
|
239
239
|
//# sourceMappingURL=index.cjs.map
|
|
240
240
|
//# sourceMappingURL=index.cjs.map
|
package/dist/wallet/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { InvalidPairingPayloadError, InvalidRecoveryKeyError, InvalidStarkPrivateKeyError, accountFor, buildAddOwnerCall, buildCancelEscapeCall, buildCompleteEscapeOwnerCall, buildDeployAccountParams, buildRemoveOwnerByGuidCall, buildRemoveOwnerCall, buildSetFirstGuardianCall, buildTriggerEscapeOwnerCall, canRemoveDevice, claimSessionWallet, completeDeployment, computeAccountAddress, computeOwnerGuid, createDeploymentCoordinator, createMediaWallet, createOwnerStore, createPasskeyOwner, createSelfFundConsent, decodeEscapeAndStatus, decodeGuardiansInfo, deploySelfFunded, deploySponsored, deriveAesKey, deriveOwnerKeyPair, describeDevices, describeGuardianStatus, describeRecoveryAction, encodePairingPayload, encodeRecoveryKey, estimateSelfFundedFee, generateStarkKeyPair, getEscape, getEscapeSecurityPeriod, getGuardians, getOwners, indexedDbDeviceKeys, isDeployed, isValidStarknetAddress, normalizeWalletAddress, ownerConstructorCalldata, parseAccountAddress, parsePairingPayload, parseRecoveryKey, sealPrivateKey, selfFundedExecutor, signWithPrivateKey, sponsoredExecutor, starkKeyPairFromPrivateKey, unsealPrivateKey, waitUntilDeployed } from '../chunk-
|
|
2
|
-
export { DeviceKeyMissingError, PasskeyCancelledError, PasskeyUnsupportedError } from '../chunk-
|
|
1
|
+
export { InvalidPairingPayloadError, InvalidRecoveryKeyError, InvalidStarkPrivateKeyError, accountFor, buildAddOwnerCall, buildCancelEscapeCall, buildCompleteEscapeOwnerCall, buildDeployAccountParams, buildRemoveOwnerByGuidCall, buildRemoveOwnerCall, buildSetFirstGuardianCall, buildTriggerEscapeOwnerCall, canRemoveDevice, claimSessionWallet, completeDeployment, computeAccountAddress, computeOwnerGuid, createDeploymentCoordinator, createMediaWallet, createOwnerStore, createPasskeyOwner, createSelfFundConsent, decodeEscapeAndStatus, decodeGuardiansInfo, deploySelfFunded, deploySponsored, deriveAesKey, deriveOwnerKeyPair, describeDevices, describeGuardianStatus, describeRecoveryAction, encodePairingPayload, encodeRecoveryKey, estimateSelfFundedFee, generateStarkKeyPair, getEscape, getEscapeSecurityPeriod, getGuardians, getOwners, indexedDbDeviceKeys, isDeployed, isValidStarknetAddress, normalizeWalletAddress, ownerConstructorCalldata, parseAccountAddress, parsePairingPayload, parseRecoveryKey, sealPrivateKey, selfFundedExecutor, signWithPrivateKey, sponsoredExecutor, starkKeyPairFromPrivateKey, unsealPrivateKey, waitUntilDeployed } from '../chunk-EPU52YSA.js';
|
|
2
|
+
export { DeviceKeyMissingError, PasskeyCancelledError, PasskeyUnsupportedError } from '../chunk-GENBWVGK.js';
|
|
3
3
|
import '../chunk-5KY6P434.js';
|
|
4
4
|
import '../chunk-WRBXQPRL.js';
|
|
5
5
|
import '../chunk-PZ5AY32C.js';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors.ts","../src/utils/address.ts","../src/utils/retry.ts","../src/api/transport.ts","../src/api/domains/orders.ts","../src/api/domains/tokens.ts","../src/api/domains/collections.ts","../src/api/domains/activity.ts","../src/api/domains/intents.ts","../src/api/domains/metadata.ts","../src/api/domains/creators.ts","../src/api/domains/account.ts","../src/api/domains/portal.ts","../src/api/domains/business.ts","../src/api/domains/remix.ts","../src/api/domains/coins.ts","../src/api/domains/drops.ts","../src/api/domains/sponsorship.ts","../src/api/domains/rewards.ts","../src/api/domains/platform.ts","../src/api/domains/chainReads.ts","../src/api/client.ts","../src/wallet/passkey-errors.ts","../src/constants.ts","../src/utils/token.ts"],"names":["keccak_256","base58","base32","intentPath","dropStateFromWire","getCoordinates"],"mappings":"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","file":"chunk-3HPMEDYH.cjs","sourcesContent":["import type { MedialaneErrorCode } from \"./types/errors.js\";\n\nexport class UserFacingError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"UserFacingError\";\n }\n}\n\nexport class MedialaneError extends Error {\n constructor(\n message: string,\n public readonly code: MedialaneErrorCode = \"UNKNOWN\",\n public readonly cause?: unknown,\n ) {\n super(message);\n this.name = \"MedialaneError\";\n }\n}\n\nconst RESOURCE_NOT_FOUND: ReadonlyArray<readonly [string, MedialaneErrorCode]> = [\n [\"/v1/orders\", \"ORDER_NOT_FOUND\"],\n [\"/v1/tokens\", \"TOKEN_NOT_FOUND\"],\n [\"/v1/collections\", \"COLLECTION_NOT_FOUND\"],\n [\"/v1/intents\", \"INTENT_NOT_FOUND\"],\n];\n\nexport function errorCodeFor(status: number, path = \"\"): MedialaneErrorCode {\n if (status === 404) {\n return RESOURCE_NOT_FOUND.find(([prefix]) => path.startsWith(prefix))?.[1] ?? \"NOT_FOUND\";\n }\n if (status === 429) return \"RATE_LIMITED\";\n if (status === 410) return \"INTENT_EXPIRED\";\n if (status === 401 || status === 403) return \"UNAUTHORIZED\";\n if (status === 400) return \"INVALID_PARAMS\";\n return \"UNKNOWN\";\n}\n\nexport class MedialaneApiError extends MedialaneError {\n constructor(\n public readonly status: number,\n message: string,\n public readonly retryAfterMs?: number,\n public readonly details?: unknown,\n path?: string,\n public readonly serverCode?: string,\n ) {\n super(message, errorCodeFor(status, path));\n this.name = \"MedialaneApiError\";\n }\n}\n\nexport function parseRetryAfter(value: string | null): number | undefined {\n if (!value) return undefined;\n const seconds = Number(value);\n if (Number.isFinite(seconds)) return Math.max(0, seconds * 1000);\n const date = Date.parse(value);\n if (!Number.isNaN(date)) return Math.max(0, date - Date.now());\n return undefined;\n}\n","import { keccak_256 } from \"@noble/hashes/sha3.js\";\nimport { base32, base58 } from \"@scure/base\";\nimport type { Chain } from \"../chains.js\";\n\nexport function normalizeAddress(chain: Chain, address: string): string {\n switch (chain) {\n case \"STARKNET\":\n return normalizeStarknet(address);\n case \"ETHEREUM\":\n case \"BASE\":\n return normalizeEvm(address);\n case \"SOLANA\":\n return normalizeSolana(address);\n case \"STELLAR\":\n return normalizeStellar(address);\n case \"BITCOIN\":\n throw new Error(\"BITCOIN address normalization not implemented\");\n }\n}\n\nfunction normalizeStarknet(address: string): string {\n try {\n const hex = BigInt(address).toString(16);\n return \"0x\" + hex.padStart(64, \"0\").toLowerCase();\n } catch {\n throw new Error(`Invalid STARKNET address: \"${address}\"`);\n }\n}\n\nfunction normalizeEvm(address: string): string {\n const m = /^0x([0-9a-fA-F]{40})$/.exec(address);\n if (!m) throw new Error(`Invalid ETHEREUM/BASE address: \"${address}\"`);\n const lower = m[1].toLowerCase();\n\n const hash = keccak_256(new TextEncoder().encode(lower));\n let out = \"0x\";\n for (let i = 0; i < 40; i++) {\n const nibble = (hash[i >> 1]! >> (i % 2 === 0 ? 4 : 0)) & 0xf;\n out += nibble >= 8 ? lower[i]!.toUpperCase() : lower[i];\n }\n return out;\n}\n\nfunction normalizeSolana(address: string): string {\n try {\n const bytes = base58.decode(address);\n if (bytes.length !== 32) throw new Error(\"not a 32-byte key\");\n return address;\n } catch {\n throw new Error(`Invalid SOLANA address: \"${address}\"`);\n }\n}\n\nconst STELLAR_VERSION_BYTES = new Set([6 << 3, 2 << 3]);\n\nfunction normalizeStellar(address: string): string {\n const upper = address.toUpperCase();\n if (!/^[GC][A-Z2-7]{55}$/.test(upper)) {\n throw new Error(`Invalid STELLAR address: \"${address}\"`);\n }\n let decoded: Uint8Array;\n try {\n decoded = base32.decode(upper);\n } catch {\n throw new Error(`Invalid STELLAR address: \"${address}\"`);\n }\n if (decoded.length !== 35 || !STELLAR_VERSION_BYTES.has(decoded[0]!)) {\n throw new Error(`Invalid STELLAR address: \"${address}\"`);\n }\n const payload = decoded.subarray(0, 33);\n const checksum = decoded[33]! | (decoded[34]! << 8);\n if (crc16xmodem(payload) !== checksum) {\n throw new Error(`Invalid STELLAR address: \"${address}\"`);\n }\n return upper;\n}\n\nfunction crc16xmodem(bytes: Uint8Array): number {\n let crc = 0;\n for (const byte of bytes) {\n crc ^= byte << 8;\n for (let i = 0; i < 8; i++) {\n crc = crc & 0x8000 ? ((crc << 1) ^ 0x1021) & 0xffff : (crc << 1) & 0xffff;\n }\n }\n return crc;\n}\n\ndeclare const canonicalHashBrand: unique symbol;\n\nexport type CanonicalHash = string & { readonly [canonicalHashBrand]: true };\n\nexport function normalizeHash(hash: string): CanonicalHash {\n try {\n const hex = BigInt(hash).toString(16);\n return (\"0x\" + hex.padStart(64, \"0\").toLowerCase()) as CanonicalHash;\n } catch {\n throw new Error(`Invalid hash: \"${hash}\"`);\n }\n}\n\nexport function shortenAddress(chain: Chain, address: string, chars = 4): string {\n const norm = normalizeAddress(chain, address);\n return `${norm.slice(0, chars + 2)}...${norm.slice(-chars)}`;\n}\n","import { MedialaneApiError } from \"../errors.js\";\n\nexport interface RetryOptions {\n maxAttempts?: number;\n baseDelayMs?: number;\n maxDelayMs?: number;\n}\n\nconst DEFAULT_MAX_ATTEMPTS = 3;\nconst DEFAULT_BASE_DELAY_MS = 300;\nconst DEFAULT_MAX_DELAY_MS = 5000;\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function isRetryableFor(method: string, err: unknown): boolean {\n if (err instanceof MedialaneApiError && err.status === 429) return true;\n const isRead = method === \"GET\" || method === \"HEAD\";\n if (!isRead) return false;\n return (err instanceof MedialaneApiError && err.status >= 500) || err instanceof TypeError;\n}\n\nexport async function withRetry<T>(\n fn: () => Promise<T>,\n opts?: RetryOptions,\n method = \"GET\",\n): Promise<T> {\n const maxAttempts = opts?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;\n const baseDelayMs = opts?.baseDelayMs ?? DEFAULT_BASE_DELAY_MS;\n const maxDelayMs = opts?.maxDelayMs ?? DEFAULT_MAX_DELAY_MS;\n\n let lastError: unknown;\n\n for (let attempt = 0; attempt < maxAttempts; attempt++) {\n try {\n return await fn();\n } catch (err) {\n lastError = err;\n\n if (!isRetryableFor(method, err) || attempt === maxAttempts - 1) {\n throw err;\n }\n\n const retryAfterMs = err instanceof MedialaneApiError ? err.retryAfterMs : undefined;\n const backoff = baseDelayMs * Math.pow(2, attempt) + Math.random() * baseDelayMs;\n const delay = Math.min(retryAfterMs ?? backoff, maxDelayMs);\n await sleep(delay);\n }\n }\n\n throw lastError;\n}\n","import type { Chain } from \"../chains.js\";\nimport { MedialaneApiError, parseRetryAfter } from \"../errors.js\";\nimport { normalizeAddress } from \"../utils/address.js\";\nimport type { FetchLike } from \"../utils/fetch.js\";\nimport { withRetry, type RetryOptions } from \"../utils/retry.js\";\n\nexport type BearerSource = string | (() => string | undefined);\n\nexport interface TransportOptions {\n baseUrl: string;\n apiKey?: string;\n bearer?: BearerSource;\n retry?: RetryOptions;\n chain?: Chain;\n fetch?: FetchLike;\n}\n\nexport type QueryValue = string | number | boolean | null | undefined;\n\nexport interface RequestOptions {\n method?: \"GET\" | \"POST\" | \"PATCH\" | \"PUT\" | \"DELETE\";\n body?: unknown;\n query?: Record<string, QueryValue>;\n bearer?: string;\n absent?: readonly number[];\n}\n\nexport function queryString(query: Record<string, QueryValue> | undefined): string {\n if (!query) return \"\";\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(query)) {\n if (value !== undefined && value !== null && value !== \"\") params.set(key, String(value));\n }\n const qs = params.toString();\n return qs ? `?${qs}` : \"\";\n}\n\nasync function failureFrom(response: Response, path: string): Promise<MedialaneApiError> {\n const text = await response.text().catch(() => response.statusText);\n let message = `Request failed with status ${response.status}`;\n let details: unknown = text;\n let serverCode: string | undefined;\n try {\n const body = JSON.parse(text) as { error?: unknown; code?: unknown };\n if (typeof body.error === \"string\" && body.error.trim() !== \"\") message = body.error;\n if (typeof body.code === \"string\") serverCode = body.code;\n details = body;\n } catch {\n details = text;\n }\n return new MedialaneApiError(\n response.status,\n message,\n parseRetryAfter(response.headers.get(\"retry-after\")),\n details,\n path,\n serverCode,\n );\n}\n\nexport class Transport {\n readonly chain: Chain;\n private readonly baseUrl: string;\n private readonly headers: Record<string, string>;\n\n constructor(private readonly options: TransportOptions) {\n this.baseUrl = options.baseUrl.replace(/\\/$/, \"\");\n this.headers = options.apiKey ? { \"x-api-key\": options.apiKey } : {};\n this.chain = options.chain ?? \"STARKNET\";\n }\n\n withBearer(bearer: BearerSource | undefined): Transport {\n return new Transport({ ...this.options, bearer });\n }\n\n settings(): TransportOptions {\n return this.options;\n }\n\n addr(address: string): string {\n return normalizeAddress(this.chain, address);\n }\n\n async request<T>(path: string, opts: RequestOptions = {}): Promise<T> {\n const method = opts.method ?? \"GET\";\n const url = `${this.baseUrl}${path}${queryString(opts.query)}`;\n const headers: Record<string, string> = { ...this.headers };\n const token = opts.bearer ?? this.defaultBearer();\n if (token) headers.Authorization = `Bearer ${token}`;\n\n let body: BodyInit | undefined;\n if (opts.body instanceof FormData) {\n body = opts.body;\n } else if (opts.body !== undefined) {\n headers[\"Content-Type\"] = \"application/json\";\n body = JSON.stringify(opts.body);\n }\n\n const absent = (status: number) => opts.absent?.includes(status) === true;\n const response = await withRetry(\n async () => {\n const res = await (this.options.fetch ?? globalThis.fetch)(url, { method, headers, body });\n if (!res.ok && !absent(res.status)) throw await failureFrom(res, path);\n return res;\n },\n this.options.retry,\n method,\n );\n\n if (absent(response.status)) return null as T;\n return response.json() as Promise<T>;\n }\n\n get<T>(path: string, query?: Record<string, QueryValue>): Promise<T> {\n return this.request<T>(path, { query });\n }\n\n post<T>(path: string, body?: unknown, opts: Omit<RequestOptions, \"method\" | \"body\"> = {}): Promise<T> {\n return this.request<T>(path, { ...opts, method: \"POST\", body: body ?? {} });\n }\n\n patch<T>(path: string, body: unknown, opts: Omit<RequestOptions, \"method\" | \"body\"> = {}): Promise<T> {\n return this.request<T>(path, { ...opts, method: \"PATCH\", body });\n }\n\n delete<T>(path: string, body?: unknown, opts: Omit<RequestOptions, \"method\" | \"body\"> = {}): Promise<T> {\n return this.request<T>(path, { ...opts, method: \"DELETE\", body });\n }\n\n find<T>(path: string, opts: Omit<RequestOptions, \"absent\"> & { also?: readonly number[] } = {}): Promise<T | null> {\n const { also, ...rest } = opts;\n return this.request<T | null>(path, { ...rest, absent: [404, ...(also ?? [])] });\n }\n\n private defaultBearer(): string | undefined {\n const source = this.options.bearer;\n return typeof source === \"function\" ? source() : source;\n }\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiOrder, ApiOrdersQuery, ApiCounterOffersQuery, ApiResponse } from \"../../types/api.js\";\n\nexport interface OrdersApi {\n list(query?: ApiOrdersQuery): Promise<ApiResponse<ApiOrder[]>>;\n get(orderHash: string): Promise<ApiOrder>;\n forToken(contract: string, tokenId: string): Promise<ApiResponse<ApiOrder[]>>;\n receivedBy(address: string, opts?: { page?: number; limit?: number }): Promise<ApiResponse<ApiOrder[]>>;\n byUser(address: string, opts?: { page?: number; limit?: number }): Promise<ApiResponse<ApiOrder[]>>;\n counterOffers(query: ApiCounterOffersQuery): Promise<ApiResponse<ApiOrder[]>>;\n}\n\nexport function createOrdersApi(t: Transport): OrdersApi {\n return {\n list(query = {}) {\n return t.get(\"/v1/orders\", {\n status: query.status,\n collection: query.collection,\n currency: query.currency,\n sort: query.sort,\n page: query.page,\n limit: query.limit,\n offerer: query.offerer ? t.addr(query.offerer) : undefined,\n minPrice: query.minPrice,\n maxPrice: query.maxPrice,\n chain: query.chain,\n });\n },\n async get(orderHash) {\n return (await t.get<ApiResponse<ApiOrder>>(`/v1/orders/${orderHash}`)).data;\n },\n forToken(contract, tokenId) {\n return t.get(`/v1/orders/token/${t.addr(contract)}/${tokenId}`);\n },\n receivedBy(address, opts = {}) {\n return t.get(`/v1/orders/received/${t.addr(address)}`, { page: opts.page ?? 1, limit: opts.limit ?? 50 });\n },\n byUser(address, opts = {}) {\n return t.get(`/v1/orders/user/${t.addr(address)}`, { page: opts.page ?? 1, limit: opts.limit ?? 20 });\n },\n counterOffers(query) {\n return t.get(\"/v1/orders/counter-offers\", {\n originalOrderHash: query.originalOrderHash,\n sellerAddress: query.sellerAddress,\n page: query.page,\n limit: query.limit,\n });\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type {\n ApiActivity,\n ApiComment,\n ApiPublicRemix,\n ApiResponse,\n ApiToken,\n ApiTokenBalance,\n ApiTokensQuery,\n} from \"../../types/api.js\";\n\ninterface Paging {\n page?: number;\n limit?: number;\n}\n\nexport interface TokensApi {\n list(query?: ApiTokensQuery): Promise<ApiResponse<ApiToken[]>>;\n get(contract: string, tokenId: string, opts?: { wait?: boolean }): Promise<ApiToken>;\n balance(contract: string, tokenId: string, owner: string): Promise<ApiTokenBalance>;\n ownedBy(address: string, opts?: Paging): Promise<ApiResponse<ApiToken[]>>;\n history(contract: string, tokenId: string, opts?: Paging): Promise<ApiResponse<ApiActivity[]>>;\n comments(contract: string, tokenId: string, opts?: Paging): Promise<ApiResponse<ApiComment[]>>;\n remixes(contract: string, tokenId: string, opts?: Paging): Promise<ApiResponse<ApiPublicRemix[]>>;\n}\n\nexport function createTokensApi(t: Transport): TokensApi {\n return {\n list(query = {}) {\n return t.get(\"/v1/tokens\", {\n page: query.page,\n limit: query.limit,\n sort: query.sort,\n ipType: query.ipType,\n derivatives: query.derivatives,\n });\n },\n async get(contract, tokenId, opts = {}) {\n const res = await t.get<ApiResponse<ApiToken>>(`/v1/tokens/${contract}/${tokenId}`, opts.wait ? { wait: \"true\" } : undefined);\n return res.data;\n },\n async balance(contract, tokenId, owner) {\n return (await t.get<ApiResponse<ApiTokenBalance>>(`/v1/tokens/${contract}/${tokenId}/balances/${t.addr(owner)}`)).data;\n },\n ownedBy(address, opts = {}) {\n return t.get(`/v1/tokens/owned/${t.addr(address)}`, { page: opts.page ?? 1, limit: opts.limit ?? 20 });\n },\n history(contract, tokenId, opts = {}) {\n return t.get(`/v1/tokens/${contract}/${tokenId}/history`, { page: opts.page ?? 1, limit: opts.limit ?? 20 });\n },\n comments(contract, tokenId, opts = {}) {\n return t.get(`/v1/tokens/${t.addr(contract)}/${tokenId}/comments`, { page: opts.page, limit: opts.limit });\n },\n remixes(contract, tokenId, opts = {}) {\n return t.get(`/v1/tokens/${t.addr(contract)}/${tokenId}/remixes`, { page: opts.page, limit: opts.limit });\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type {\n ApiCollection,\n ApiCollectionClaim,\n ApiCollectionProfile,\n ApiCollectionSlugClaim,\n ApiCollectionsListQuery,\n ApiResponse,\n ApiToken,\n CollectionTokensSort,\n UpdateCollectionProfileInput,\n} from \"../../types/api.js\";\n\nexport interface GatedContent {\n title: string;\n url: string;\n type: string;\n}\n\nexport interface CollectionsApi {\n list(query?: ApiCollectionsListQuery): Promise<ApiResponse<ApiCollection[]>>;\n get(contract: string): Promise<ApiCollection>;\n findBySlug(slug: string): Promise<ApiCollection | null>;\n tokens(contract: string, opts?: { page?: number; limit?: number; sort?: CollectionTokensSort }): Promise<ApiResponse<ApiToken[]>>;\n register(contractAddress: string): Promise<ApiCollection>;\n findProfile(contractAddress: string): Promise<ApiCollectionProfile | null>;\n updateProfile(contractAddress: string, data: UpdateCollectionProfileInput): Promise<ApiCollectionProfile>;\n findGatedContent(contractAddress: string): Promise<GatedContent | null>;\n claim(contractAddress: string, walletAddress: string): Promise<{ verified: boolean; collection?: ApiCollection; reason?: string }>;\n requestClaim(params: { contractAddress: string; walletAddress?: string; email: string; notes?: string }): Promise<{ claim: ApiCollectionClaim }>;\n slugAvailability(slug: string): Promise<{ available: boolean; reason?: string }>;\n submitSlugClaim(contractAddress: string, slug: string, notifyEmail?: string): Promise<{ claim: ApiCollectionSlugClaim }>;\n mySlugClaims(): Promise<{ claims: ApiCollectionSlugClaim[] }>;\n}\n\nconst slugOf = (slug: string) => encodeURIComponent(slug.toLowerCase().trim());\n\nexport function createCollectionsApi(t: Transport): CollectionsApi {\n return {\n list(query = {}) {\n return t.get(\"/v1/collections\", {\n page: query.page,\n limit: query.limit,\n owner: query.owner ? t.addr(query.owner) : undefined,\n service: query.service,\n sort: query.sort,\n isFeatured: query.isFeatured,\n hideEmpty: query.hideEmpty,\n standard: query.standard,\n chain: query.chain,\n });\n },\n async get(contract) {\n return (await t.get<ApiResponse<ApiCollection>>(`/v1/collections/${t.addr(contract)}`)).data;\n },\n async findBySlug(slug) {\n const res = await t.find<{ data: ApiCollection }>(`/v1/collections/by-slug/${slugOf(slug)}`);\n return res?.data ?? null;\n },\n tokens(contract, opts = {}) {\n return t.get(`/v1/collections/${t.addr(contract)}/tokens`, {\n page: opts.page ?? 1,\n limit: opts.limit ?? 20,\n sort: opts.sort ?? \"recent\",\n });\n },\n async register(contractAddress) {\n return (await t.post<{ data: ApiCollection }>(\"/v1/collections/register\", { contractAddress })).data;\n },\n findProfile(contractAddress) {\n return t.find(`/v1/collections/${t.addr(contractAddress)}/profile`);\n },\n updateProfile(contractAddress, data) {\n return t.patch(`/v1/collections/${t.addr(contractAddress)}/profile`, data);\n },\n findGatedContent(contractAddress) {\n return t.find(`/v1/collections/${t.addr(contractAddress)}/gated-content`, { also: [403] });\n },\n claim(contractAddress, walletAddress) {\n return t.post(\"/v1/collections/claim\", { contractAddress, walletAddress });\n },\n requestClaim(params) {\n return t.post(\"/v1/collections/claim/request\", params);\n },\n slugAvailability(slug) {\n return t.get(`/v1/collection-slug-claims/check/${slugOf(slug)}`);\n },\n submitSlugClaim(contractAddress, slug, notifyEmail) {\n return t.post(\"/v1/collection-slug-claims\", { contractAddress, slug, notifyEmail });\n },\n mySlugClaims() {\n return t.get(\"/v1/collection-slug-claims/me\");\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiActivitiesQuery, ApiActivity, ApiResponse, ApiSearchResult, ApiWalletActivity, ChainFilter } from \"../../types/api.js\";\n\nexport interface ActivityApi {\n list(query?: ApiActivitiesQuery): Promise<ApiResponse<ApiActivity[]>>;\n byAddress(address: string, opts?: { page?: number; limit?: number }): Promise<ApiResponse<ApiActivity[]>>;\n wallet(address: string, chain?: \"STARKNET\"): Promise<ApiResponse<ApiWalletActivity[]>>;\n}\n\nexport interface SearchApi {\n (q: string, limit?: number, chain?: ChainFilter): Promise<ApiResponse<ApiSearchResult> & { query: string }>;\n}\n\nexport function createActivityApi(t: Transport): ActivityApi {\n return {\n list(query = {}) {\n return t.get(\"/v1/activities\", {\n type: query.type,\n contract: query.contract,\n page: query.page,\n limit: query.limit,\n chain: query.chain,\n });\n },\n byAddress(address, opts = {}) {\n return t.get(`/v1/activities/${t.addr(address)}`, { page: opts.page ?? 1, limit: opts.limit ?? 20 });\n },\n wallet(address, chain = \"STARKNET\") {\n return t.get(\"/v1/wallet-activity\", { address: t.addr(address), chain });\n },\n };\n}\n\nexport function createSearchApi(t: Transport): SearchApi {\n return (q, limit = 10, chain) => t.get(\"/v1/search\", { q, limit, chain });\n}\n","import type { Transport } from \"../transport.js\";\nimport { intentPath, type IntentKind } from \"../../contract/intents.js\";\nimport type {\n ApiCheckoutIntentResult,\n ApiIntent,\n ApiIntentCreated,\n ApiTxSyncResult,\n CreateCheckoutIntentParams,\n IntentParamsByKind,\n} from \"../../types/api.js\";\n\nexport interface IntentsApi {\n create<K extends IntentKind>(kind: K, params: IntentParamsByKind[K], opts?: { bearer?: string }): Promise<ApiIntentCreated>;\n checkout(params: CreateCheckoutIntentParams): Promise<ApiCheckoutIntentResult[]>;\n get(id: string): Promise<ApiIntent>;\n submitSignature(id: string, signature: string[]): Promise<ApiIntent>;\n confirm(id: string, txHash: string): Promise<ApiIntent>;\n syncTransaction(txHash: string): Promise<ApiTxSyncResult>;\n}\n\nexport function createIntentsApi(t: Transport): IntentsApi {\n return {\n async create(kind, params, opts) {\n const res = await t.post<{ data: ApiIntentCreated }>(intentPath(kind), params, { bearer: opts?.bearer });\n return res.data;\n },\n async checkout(params) {\n const res = await t.post<{ data: ApiCheckoutIntentResult[] }>(intentPath(\"checkout\"), params);\n return res.data;\n },\n async get(id) {\n return (await t.get<{ data: ApiIntent }>(`/v1/intents/${id}`)).data;\n },\n async submitSignature(id, signature) {\n return (await t.patch<{ data: ApiIntent }>(`/v1/intents/${id}/signature`, { signature })).data;\n },\n async confirm(id, txHash) {\n return (await t.patch<{ data: ApiIntent }>(`/v1/intents/${id}/confirm`, { txHash })).data;\n },\n async syncTransaction(txHash) {\n return (await t.post<{ data: ApiTxSyncResult }>(\"/v1/tx/sync\", { txHash })).data;\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiMetadataSignedUrl, ApiMetadataUpload, ApiResponse } from \"../../types/api.js\";\n\nexport interface MetadataApi {\n signedUrl(kind?: \"image\" | \"document\" | \"media\"): Promise<ApiResponse<ApiMetadataSignedUrl>>;\n upload(metadata: Record<string, unknown>): Promise<ApiResponse<ApiMetadataUpload>>;\n uploadDirectory(files: { name: string; content: unknown }[]): Promise<{ cid: string; baseUri: string }>;\n resolve(uri: string): Promise<ApiResponse<unknown>>;\n uploadFile(file: File): Promise<ApiResponse<ApiMetadataUpload>>;\n}\n\nexport function createMetadataApi(t: Transport): MetadataApi {\n return {\n signedUrl(kind) {\n return t.get(\"/v1/metadata/signed-url\", { kind });\n },\n upload(metadata) {\n return t.post(\"/v1/metadata/upload\", metadata);\n },\n async uploadDirectory(files) {\n return (await t.post<{ data: { cid: string; baseUri: string } }>(\"/v1/metadata/upload-directory\", { files })).data;\n },\n resolve(uri) {\n return t.get(\"/v1/metadata/resolve\", { uri });\n },\n uploadFile(file) {\n const formData = new FormData();\n formData.append(\"file\", file);\n return t.request(\"/v1/metadata/upload-file\", { method: \"POST\", body: formData });\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiCreatorListResult, ApiCreatorProfile, ApiUsernameClaim } from \"../../types/api.js\";\n\nexport interface CreatorsApi {\n list(opts?: { search?: string; page?: number; limit?: number }): Promise<ApiCreatorListResult>;\n findProfile(walletAddress: string): Promise<ApiCreatorProfile | null>;\n findByUsername(username: string): Promise<ApiCreatorProfile | null>;\n updateProfile(\n walletAddress: string,\n data: Partial<Omit<ApiCreatorProfile, \"walletAddress\" | \"chain\" | \"updatedAt\">>,\n ): Promise<ApiCreatorProfile>;\n isHidden(wallet: string): Promise<boolean>;\n myUsernameClaim(): Promise<{ username: string | null; claim: ApiUsernameClaim | null }>;\n usernameAvailability(username: string): Promise<{ available: boolean; reason?: string }>;\n submitUsernameClaim(username: string, notifyEmail?: string): Promise<ApiUsernameClaim>;\n}\n\nexport function createCreatorsApi(t: Transport): CreatorsApi {\n return {\n list(opts = {}) {\n return t.get(\"/v1/creators\", { search: opts.search, page: opts.page || undefined, limit: opts.limit || undefined });\n },\n findProfile(walletAddress) {\n return t.find(`/v1/creators/${t.addr(walletAddress)}/profile`);\n },\n findByUsername(username) {\n return t.find(`/v1/creators/by-username/${encodeURIComponent(username.toLowerCase().trim())}`);\n },\n updateProfile(walletAddress, data) {\n return t.patch(`/v1/creators/${t.addr(walletAddress)}/profile`, data);\n },\n async isHidden(wallet) {\n return (await t.get<{ isHidden: boolean }>(`/v1/creators/${t.addr(wallet)}/hidden`)).isHidden;\n },\n myUsernameClaim() {\n return t.get(\"/v1/username-claims/me\");\n },\n usernameAvailability(username) {\n return t.get(`/v1/username-claims/check/${encodeURIComponent(username)}`);\n },\n async submitUsernameClaim(username, notifyEmail) {\n const res = await t.post<{ claim: ApiUsernameClaim }>(\"/v1/username-claims\", {\n username,\n ...(notifyEmail ? { notifyEmail } : {}),\n });\n return res.claim;\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiChain, ApiUserWallet } from \"../../types/api.js\";\n\nexport interface RegisteredUser {\n accountId: string;\n publicId: string;\n walletAddress: string;\n chain: string;\n provider: string;\n createdAt: string;\n}\n\nexport interface AccountApi {\n registerUser(params: { walletAddress: string; walletType?: string; chain?: ApiChain }): Promise<RegisteredUser>;\n upsertMyWallet(options?: { walletType?: string; chain?: ApiChain; email?: string }): Promise<ApiUserWallet>;\n findMyWallet(): Promise<ApiUserWallet | null>;\n changeMyEmail(email: string): Promise<{ email: string }>;\n sessionWallet(): Promise<{ walletAddress: string; needsKeySetup: boolean } | null>;\n setupWalletKey(params: { newOwnerPubkey: string }): Promise<{ walletAddress: string; removeOwnerGuid: string | null }>;\n generateWallet(newWalletSiwsToken: string): Promise<{ walletAddress: string }>;\n emailExists(email: string): Promise<boolean>;\n requestEmailCode(email: string): Promise<void>;\n registerEmailAccount(email: string): Promise<void>;\n verifyEmailCode(email: string, code: string): Promise<void>;\n confirmEmail(token: string): Promise<{ email: string }>;\n}\n\nexport function createAccountApi(t: Transport): AccountApi {\n return {\n registerUser(params) {\n return t.post(\"/v1/users/register\", params);\n },\n upsertMyWallet(options = {}) {\n const body: Record<string, string> = { walletType: options.walletType ?? \"UNKNOWN\" };\n if (options.chain) body.chain = options.chain;\n if (options.email) body.email = options.email;\n return t.post(\"/v1/users/me\", body);\n },\n findMyWallet() {\n return t.find(\"/v1/users/me\");\n },\n changeMyEmail(email) {\n return t.post(\"/v1/users/me/email\", { email });\n },\n async sessionWallet() {\n const body = await t.post<{ walletAddress?: string | null; needsKeySetup?: boolean }>(\"/v1/users/me/wallet\", {});\n return body.walletAddress ? { walletAddress: body.walletAddress, needsKeySetup: body.needsKeySetup === true } : null;\n },\n setupWalletKey(params) {\n return t.post(\"/v1/users/me/wallet/key\", params);\n },\n generateWallet(newWalletSiwsToken) {\n return t.post(\"/v1/users/me/generate-wallet\", { newWalletSiwsToken });\n },\n async emailExists(email) {\n return (await t.get<{ exists: boolean }>(\"/v1/auth/email/exists\", { email })).exists;\n },\n async requestEmailCode(email) {\n await t.post(\"/v1/auth/email/request-code\", { email });\n },\n async registerEmailAccount(email) {\n await t.post(\"/v1/auth/email/register-account\", { email });\n },\n async verifyEmailCode(email, code) {\n await t.post(\"/v1/auth/email/verify-code\", { email, code });\n },\n async confirmEmail(token) {\n const body = await t.post<{ ok: boolean; email: string }>(\"/v1/auth/email/confirm\", { token });\n return { email: body.email };\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiKeyConfirmation } from \"../../starknet/api-key-confirmation.js\";\nimport type {\n ApiCreditPayment,\n ApiFundingInstructions,\n ApiFundingIntent,\n ApiFundingMethod,\n ApiFundingSubmit,\n ApiPortalKey,\n ApiPortalKeyCreated,\n ApiPortalMe,\n ApiPortalSpend,\n ApiPricing,\n ApiResponse,\n} from \"../../types/api.js\";\n\nexport interface FundingApi {\n methods(): Promise<ApiFundingMethod[]>;\n create(input: { method: string; params: Record<string, unknown> }): Promise<ApiFundingIntent>;\n get(id: string): Promise<ApiFundingIntent>;\n challenge(id: string, payer: string): Promise<{ typedData: unknown }>;\n authorize(id: string, input: { payer: string; signature: string[] }): Promise<{ instructions: ApiFundingInstructions }>;\n submit(id: string, txHash: string): Promise<ApiFundingSubmit>;\n cancel(id: string): Promise<{ status: string }>;\n}\n\nexport interface PortalApi {\n me(): Promise<ApiPortalMe>;\n apiKeys(): Promise<ApiPortalKey[]>;\n createApiKey(input: { label?: string } | undefined, confirmation: ApiKeyConfirmation): Promise<ApiPortalKeyCreated>;\n deleteApiKey(id: string, confirmation: ApiKeyConfirmation): Promise<{ id: string }>;\n creditHistory(): Promise<ApiCreditPayment[]>;\n spend(): Promise<ApiPortalSpend>;\n checkDeposit(txHash: string): Promise<{ deposits: number }>;\n pricing(): Promise<ApiPricing>;\n funding: FundingApi;\n}\n\nexport function createPortalApi(t: Transport): PortalApi {\n const data = async <T>(promise: Promise<ApiResponse<T>>): Promise<T> => (await promise).data;\n const fundingPath = (id: string) => `/v1/portal/funding/${encodeURIComponent(id)}`;\n return {\n me: () => data(t.get(\"/v1/portal/me\")),\n apiKeys: () => data(t.get(\"/v1/portal/keys\")),\n createApiKey: (input, confirmation) => data(t.post(\"/v1/portal/keys\", { ...(input ?? {}), confirmation })),\n deleteApiKey: (id, confirmation) => data(t.delete(`/v1/portal/keys/${id}`, { confirmation })),\n creditHistory: () => data(t.get(\"/v1/portal/credits/history\")),\n spend: () => data(t.get(\"/v1/portal/credits/spend\")),\n checkDeposit: (txHash) => data(t.post(\"/v1/portal/credits/check\", { txHash })),\n pricing: () => t.get(\"/v1/pricing\"),\n funding: {\n methods: () => data(t.get(\"/v1/portal/funding/methods\")),\n create: (input) => data(t.post(\"/v1/portal/funding\", { method: input.method, params: input.params })),\n get: (id) => data(t.get(fundingPath(id))),\n challenge: (id, payer) => data(t.post(`${fundingPath(id)}/challenge`, { payer })),\n authorize: (id, input) => data(t.post(`${fundingPath(id)}/authorize`, { payer: input.payer, signature: input.signature })),\n submit: (id, txHash) => data(t.post(`${fundingPath(id)}/submit`, { txHash })),\n cancel: (id) => data(t.post(`${fundingPath(id)}/cancel`, {})),\n },\n };\n}\n","import type { z } from \"zod\";\nimport type { Transport } from \"../transport.js\";\nimport type * as provisioning from \"../../contract/provisioning.js\";\nimport type { ApiBusinessProvisioning, ApiEmissionResult, ApiResponse, EmissionParams } from \"../../types/api.js\";\n\nexport type ProvisioningResult = ApiResponse<ApiBusinessProvisioning> & { reusedExistingWallet?: boolean };\n\nexport interface BusinessApi {\n emit(params: EmissionParams): Promise<ApiEmissionResult>;\n registerProvisioning(params: z.input<typeof provisioning.provisioningRegisterSchema>): Promise<ProvisioningResult>;\n}\n\nexport function createBusinessApi(t: Transport): BusinessApi {\n return {\n async emit(params) {\n return (await t.post<ApiResponse<ApiEmissionResult>>(\"/v1/business/issuance/emission\", params)).data;\n },\n registerProvisioning(params) {\n return t.post(\"/v1/business/provisioning\", { chain: params.chain ?? \"STARKNET\", email: params.email });\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type {\n ApiRemixOffer,\n ApiRemixOffersQuery,\n AutoRemixOfferParams,\n ConfirmRemixOfferParams,\n ConfirmSelfRemixParams,\n CreateRemixOfferParams,\n ApiResponse,\n} from \"../../types/api.js\";\n\nexport interface RemixApi {\n submit(params: CreateRemixOfferParams): Promise<ApiRemixOffer>;\n submitAuto(params: AutoRemixOfferParams): Promise<ApiRemixOffer>;\n confirmSelf(params: ConfirmSelfRemixParams): Promise<ApiRemixOffer>;\n list(query: ApiRemixOffersQuery): Promise<ApiResponse<ApiRemixOffer[]>>;\n get(id: string): Promise<ApiRemixOffer>;\n confirm(id: string, params: ConfirmRemixOfferParams): Promise<ApiRemixOffer>;\n reject(id: string): Promise<ApiRemixOffer>;\n extend(id: string, days: number): Promise<ApiRemixOffer>;\n}\n\nexport function createRemixApi(t: Transport): RemixApi {\n const one = async (promise: Promise<ApiResponse<ApiRemixOffer>>): Promise<ApiRemixOffer> => (await promise).data;\n return {\n submit: (params) => one(t.post(\"/v1/remix-offers\", params)),\n submitAuto: (params) => one(t.post(\"/v1/remix-offers/auto\", params)),\n confirmSelf: (params) => one(t.post(\"/v1/remix-offers/self/confirm\", params)),\n list: (query) =>\n t.get(\"/v1/remix-offers\", { role: query.role, status: query.status, page: query.page, limit: query.limit }),\n get: (id) => one(t.get(`/v1/remix-offers/${id}`)),\n confirm: (id, params) => one(t.post(`/v1/remix-offers/${id}/confirm`, params)),\n reject: (id) => one(t.post(`/v1/remix-offers/${id}/reject`, {})),\n extend: (id, days) => one(t.post(`/v1/remix-offers/${id}/extend`, { days })),\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type {\n ApiCoin,\n ApiCoinClaimResult,\n ApiCoinPrices,\n ApiCoinsQuery,\n ApiCollectionClaim,\n ApiResponse,\n} from \"../../types/api.js\";\n\nexport interface CoinsApi {\n list(opts?: ApiCoinsQuery): Promise<ApiResponse<ApiCoin[]>>;\n get(contract: string): Promise<ApiCoin>;\n prices(): Promise<ApiCoinPrices>;\n claim(coinAddress: string): Promise<ApiCoinClaimResult>;\n claims(status?: string): Promise<ApiResponse<ApiCollectionClaim[]>>;\n updateProfile(contract: string, data: { image?: string | null; description?: string | null }): Promise<ApiCoin>;\n sync(coinAddress: string, owner?: string): Promise<ApiCoin>;\n}\n\nexport function createCoinsApi(t: Transport): CoinsApi {\n return {\n list(opts = {}) {\n return t.get(\"/v1/coins\", {\n page: opts.page || undefined,\n limit: opts.limit || undefined,\n service: opts.service,\n sort: opts.sort,\n creator: opts.creator ? t.addr(opts.creator) : undefined,\n chain: opts.chain,\n });\n },\n async get(contract) {\n return (await t.get<{ data: ApiCoin }>(`/v1/coins/${t.addr(contract)}`)).data;\n },\n async prices() {\n return (await t.get<ApiResponse<ApiCoinPrices>>(\"/v1/coins/prices\")).data;\n },\n claim(coinAddress) {\n return t.post(\"/v1/coins/claim\", { coinAddress });\n },\n claims(status = \"PENDING\") {\n return t.get(\"/v1/coins/claims\", { status });\n },\n async updateProfile(contract, data) {\n return (await t.patch<ApiResponse<ApiCoin>>(`/v1/coins/${t.addr(contract)}`, data)).data;\n },\n async sync(coinAddress, owner) {\n return (await t.post<{ data: ApiCoin }>(\"/v1/coins/sync\", { coinAddress, ...(owner ? { owner } : {}) })).data;\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiDrop, ApiDropFee, ApiDropListStatus, ApiDropMint, ApiResponse } from \"../../types/api.js\";\n\nexport interface DropsApi {\n fee(): Promise<ApiDropFee>;\n list(query?: { status?: ApiDropListStatus; organizer?: string; page?: number; limit?: number }): Promise<ApiResponse<ApiDrop[]>>;\n find(contract: string): Promise<ApiDrop | null>;\n mints(contract: string, opts?: { page?: number; limit?: number }): Promise<ApiResponse<ApiDropMint[]>>;\n}\n\nexport function createDropsApi(t: Transport): DropsApi {\n return {\n async fee() {\n return (await t.get<{ data: ApiDropFee }>(\"/v1/drops/fee\")).data;\n },\n list(query = {}) {\n return t.get(\"/v1/drops\", {\n status: query.status,\n organizer: query.organizer ? t.addr(query.organizer) : undefined,\n page: query.page,\n limit: query.limit,\n });\n },\n async find(contract) {\n const res = await t.find<{ data: ApiDrop }>(`/v1/drops/${t.addr(contract)}`);\n return res?.data ?? null;\n },\n mints(contract, opts = {}) {\n return t.get(`/v1/drops/${t.addr(contract)}/mints`, { page: opts.page, limit: opts.limit });\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type {\n ApiResponse,\n ApiSponsorshipBid,\n ApiSponsorshipLicense,\n ApiSponsorshipLicensesQuery,\n ApiSponsorshipOffer,\n ApiSponsorshipOffersQuery,\n ApiSponsorshipProposal,\n ApiSponsorshipProposalsQuery,\n} from \"../../types/api.js\";\n\nexport interface SponsorshipApi {\n offers(query?: ApiSponsorshipOffersQuery): Promise<ApiResponse<ApiSponsorshipOffer[]>>;\n findOffer(offerId: string): Promise<ApiSponsorshipOffer | null>;\n bids(offerId: string): Promise<ApiSponsorshipBid[]>;\n proposals(query?: ApiSponsorshipProposalsQuery): Promise<ApiResponse<ApiSponsorshipProposal[]>>;\n findProposal(proposalId: string): Promise<ApiSponsorshipProposal | null>;\n licenses(query?: ApiSponsorshipLicensesQuery): Promise<ApiResponse<ApiSponsorshipLicense[]>>;\n}\n\nexport function createSponsorshipApi(t: Transport): SponsorshipApi {\n return {\n offers(query = {}) {\n return t.get(\"/v1/sponsorship/offers\", {\n limit: query.limit ?? 50,\n nftContract: query.nftContract,\n author: query.author,\n owner: query.owner,\n open: query.open,\n });\n },\n async findOffer(offerId) {\n const res = await t.find<{ data: ApiSponsorshipOffer }>(`/v1/sponsorship/offers/${encodeURIComponent(offerId)}`);\n return res?.data ?? null;\n },\n async bids(offerId) {\n return (await t.get<{ data: ApiSponsorshipBid[] }>(`/v1/sponsorship/offers/${encodeURIComponent(offerId)}/bids`)).data;\n },\n proposals(query = {}) {\n return t.get(\"/v1/sponsorship/proposals\", {\n limit: query.limit ?? 50,\n nftContract: query.nftContract,\n proposer: query.proposer,\n owner: query.owner,\n open: query.open,\n });\n },\n async findProposal(proposalId) {\n const res = await t.find<{ data: ApiSponsorshipProposal }>(`/v1/sponsorship/proposals/${encodeURIComponent(proposalId)}`);\n return res?.data ?? null;\n },\n licenses(query = {}) {\n return t.get(\"/v1/sponsorship/licenses\", { limit: query.limit ?? 50, holder: query.holder, author: query.author });\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type {\n ApiPointEvent,\n ApiResponse,\n ApiRewardsBatchEntry,\n ApiRewardsConfig,\n ApiRewardsLeaderboardEntry,\n ApiUserRewards,\n} from \"../../types/api.js\";\n\nexport interface RewardsApi {\n get(address: string): Promise<ApiUserRewards>;\n leaderboard(opts?: { page?: number; limit?: number }): Promise<ApiResponse<ApiRewardsLeaderboardEntry[]>>;\n events(address: string, opts?: { page?: number; limit?: number }): Promise<ApiResponse<ApiPointEvent[]>>;\n config(): Promise<ApiRewardsConfig>;\n batch(addresses: string[]): Promise<ApiRewardsBatchEntry[]>;\n}\n\nexport function createRewardsApi(t: Transport): RewardsApi {\n return {\n async get(address) {\n return (await t.get<{ data: ApiUserRewards }>(`/v1/rewards/${t.addr(address)}`)).data;\n },\n leaderboard(opts = {}) {\n return t.get(\"/v1/rewards\", { page: opts.page ?? 1, limit: opts.limit ?? 50 });\n },\n events(address, opts = {}) {\n return t.get(`/v1/rewards/${t.addr(address)}/events`, { page: opts.page ?? 1, limit: opts.limit ?? 20 });\n },\n async config() {\n return (await t.get<{ data: ApiRewardsConfig }>(\"/v1/rewards/config\")).data;\n },\n async batch(addresses) {\n if (addresses.length === 0) return [];\n const res = await t.get<{ data: ApiRewardsBatchEntry[] }>(\"/v1/rewards/batch\", {\n addresses: addresses.map((a) => t.addr(a)).join(\",\"),\n });\n return res.data;\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { ApiPlatformStats, ApiSubmitReport, ApiSwapQuote, ApiSwapQuoteRequest } from \"../../types/api.js\";\n\nexport interface PlatformApi {\n stats(): Promise<ApiPlatformStats>;\n swapQuote(body: ApiSwapQuoteRequest): Promise<ApiSwapQuote>;\n submitReport(report: ApiSubmitReport): Promise<void>;\n}\n\nexport function createPlatformApi(t: Transport): PlatformApi {\n return {\n async stats() {\n return (await t.get<{ data: ApiPlatformStats }>(\"/v1/stats\")).data;\n },\n async swapQuote(body) {\n return (await t.post<{ quote: ApiSwapQuote }>(\"/v1/swap/quote\", body)).quote;\n },\n async submitReport(report) {\n const targetContract = report.targetContract ? t.addr(report.targetContract) : undefined;\n const targetAddress = report.targetAddress ? t.addr(report.targetAddress) : undefined;\n let targetKey: string | null = null;\n if (report.targetType === \"TOKEN\" && targetContract && report.targetTokenId) {\n targetKey = `TOKEN:${targetContract}:${report.targetTokenId}`;\n } else if (report.targetType === \"COLLECTION\" && targetContract) {\n targetKey = `COLLECTION:${targetContract}`;\n } else if (report.targetType === \"CREATOR\" && targetAddress) {\n targetKey = `CREATOR:${targetAddress}`;\n } else if (report.targetType === \"COMMENT\" && report.targetId) {\n targetKey = `COMMENT::${report.targetId}`;\n }\n if (!targetKey) throw new Error(`A ${report.targetType} report needs its target`);\n await t.post(\"/v1/reports\", { ...report, targetKey, targetContract, targetAddress });\n },\n };\n}\n","import type { Transport } from \"../transport.js\";\nimport type { CreatorCoinGuarantees } from \"../../starknet/services/creatorCoin.js\";\nimport type { PopClaimInfo } from \"../../starknet/pop-claim.js\";\nimport type { DropOnchain } from \"../../starknet/drop-state.js\";\nimport { dropStateFromWire, type DropStateWire } from \"../../contract/chainReads.js\";\nimport type { ApiIpNftTokenData, ApiTierOnchain } from \"../../types/api.js\";\n\nexport interface ChainReadsApi {\n ticket(contract: string, tokenId: string): Promise<ApiTierOnchain>;\n ticketCount(contract: string): Promise<number>;\n clubMembershipCount(contract: string): Promise<number>;\n clubMembership(contract: string, tokenId: string): Promise<ApiTierOnchain>;\n isClubMember(contract: string, tokenId: string, wallet: string): Promise<boolean>;\n ipNftTokenData(contract: string, tokenId: string): Promise<ApiIpNftTokenData | null>;\n coinGuarantees(contract: string): Promise<CreatorCoinGuarantees | null>;\n popClaimInfo(collection: string): Promise<PopClaimInfo | null>;\n dropState(contract: string): Promise<DropOnchain | null>;\n}\n\nexport function createChainReadsApi(t: Transport): ChainReadsApi {\n const data = async <T>(path: string): Promise<T> => (await t.get<{ data: T }>(path)).data;\n return {\n ticket: (contract, tokenId) => data(`/v1/tickets/${t.addr(contract)}/${tokenId}`),\n ticketCount: async (contract) => (await data<{ count: number }>(`/v1/tickets/${t.addr(contract)}/count`)).count,\n clubMembershipCount: async (contract) => (await data<{ count: number }>(`/v1/club/${t.addr(contract)}/count`)).count,\n clubMembership: (contract, tokenId) => data(`/v1/club/${t.addr(contract)}/${tokenId}`),\n isClubMember: async (contract, tokenId, wallet) =>\n (await data<{ isMember: boolean }>(`/v1/club/${t.addr(contract)}/${tokenId}/member/${t.addr(wallet)}`)).isMember,\n ipNftTokenData: (contract, tokenId) => data(`/v1/ipnft/${t.addr(contract)}/${tokenId}`),\n coinGuarantees: (contract) => data(`/v1/coins/${t.addr(contract)}/guarantees`),\n popClaimInfo: (collection) => data(`/v1/pop/${t.addr(collection)}/claim-info`),\n async dropState(contract) {\n const wire = await data<DropStateWire | null>(`/v1/drops/${t.addr(contract)}/state`);\n return wire ? dropStateFromWire(wire) : null;\n },\n };\n}\n","import { MedialaneApiError, parseRetryAfter } from \"../errors.js\";\nimport { Transport, type BearerSource, type TransportOptions } from \"./transport.js\";\nimport { createOrdersApi, type OrdersApi } from \"./domains/orders.js\";\nimport { createTokensApi, type TokensApi } from \"./domains/tokens.js\";\nimport { createCollectionsApi, type CollectionsApi } from \"./domains/collections.js\";\nimport { createActivityApi, createSearchApi, type ActivityApi, type SearchApi } from \"./domains/activity.js\";\nimport { createIntentsApi, type IntentsApi } from \"./domains/intents.js\";\nimport { createMetadataApi, type MetadataApi } from \"./domains/metadata.js\";\nimport { createCreatorsApi, type CreatorsApi } from \"./domains/creators.js\";\nimport { createAccountApi, type AccountApi } from \"./domains/account.js\";\nimport { createPortalApi, type PortalApi } from \"./domains/portal.js\";\nimport { createBusinessApi, type BusinessApi } from \"./domains/business.js\";\nimport { createRemixApi, type RemixApi } from \"./domains/remix.js\";\nimport { createCoinsApi, type CoinsApi } from \"./domains/coins.js\";\nimport { createDropsApi, type DropsApi } from \"./domains/drops.js\";\nimport { createSponsorshipApi, type SponsorshipApi } from \"./domains/sponsorship.js\";\nimport { createRewardsApi, type RewardsApi } from \"./domains/rewards.js\";\nimport { createPlatformApi, type PlatformApi } from \"./domains/platform.js\";\nimport { createChainReadsApi, type ChainReadsApi } from \"./domains/chainReads.js\";\n\nexport { MedialaneApiError, parseRetryAfter };\n\nexport type ApiClientOptions = TransportOptions;\n\nexport class ApiClient {\n private readonly transport: Transport;\n\n readonly orders: OrdersApi;\n readonly tokens: TokensApi;\n readonly collections: CollectionsApi;\n readonly activity: ActivityApi;\n readonly search: SearchApi;\n readonly intents: IntentsApi;\n readonly metadata: MetadataApi;\n readonly creators: CreatorsApi;\n readonly account: AccountApi;\n readonly portal: PortalApi;\n readonly business: BusinessApi;\n readonly remix: RemixApi;\n readonly coins: CoinsApi;\n readonly drops: DropsApi;\n readonly sponsorship: SponsorshipApi;\n readonly rewards: RewardsApi;\n readonly platform: PlatformApi;\n readonly chainReads: ChainReadsApi;\n\n constructor(options: ApiClientOptions) {\n this.transport = new Transport(options);\n const t = this.transport;\n this.orders = createOrdersApi(t);\n this.tokens = createTokensApi(t);\n this.collections = createCollectionsApi(t);\n this.activity = createActivityApi(t);\n this.search = createSearchApi(t);\n this.intents = createIntentsApi(t);\n this.metadata = createMetadataApi(t);\n this.creators = createCreatorsApi(t);\n this.account = createAccountApi(t);\n this.portal = createPortalApi(t);\n this.business = createBusinessApi(t);\n this.remix = createRemixApi(t);\n this.coins = createCoinsApi(t);\n this.drops = createDropsApi(t);\n this.sponsorship = createSponsorshipApi(t);\n this.rewards = createRewardsApi(t);\n this.platform = createPlatformApi(t);\n this.chainReads = createChainReadsApi(t);\n }\n\n withBearer(bearer: BearerSource | undefined): ApiClient {\n return new ApiClient({ ...this.transport.settings(), bearer });\n }\n}\n","export class PasskeyCancelledError extends Error {\n constructor(message = \"Passkey prompt was cancelled.\") {\n super(message);\n this.name = \"PasskeyCancelledError\";\n }\n}\n\nexport class DeviceKeyMissingError extends Error {\n constructor() {\n super(\"This browser no longer holds the wallet key. Recover the wallet with its recovery key.\");\n this.name = \"DeviceKeyMissingError\";\n }\n}\n\nexport type PasskeyUnsupportedReason = \"no-webauthn\" | \"no-prf\";\n\nexport class PasskeyUnsupportedError extends Error {\n readonly reason: PasskeyUnsupportedReason;\n constructor(reason: PasskeyUnsupportedReason) {\n super(\n reason === \"no-webauthn\"\n ? \"Passkeys are not available in this environment.\"\n : \"This passkey did not return a PRF secret, so it cannot seal a wallet key.\",\n );\n this.name = \"PasskeyUnsupportedError\";\n this.reason = reason;\n }\n}\n","import { getCoordinates } from \"./chains.js\";\n\nconst SN = getCoordinates(\"STARKNET\");\n\nexport const STARKNET_MARKETPLACE_721_CONTRACT = SN.marketplace721;\nexport const STARKNET_MARKETPLACE_1155_CONTRACT = SN.marketplace1155;\n\nexport const STARKNET_COLLECTION_721_CONTRACT = SN.collection721;\nexport const STARKNET_DATA_TOKENIZATION_721_CONTRACT = SN.dataTokenization721;\nexport const STARKNET_COLLECTION_1155_CONTRACT = SN.collection1155;\n\nexport const STARKNET_POP_FACTORY_CONTRACT = SN.popFactory;\nexport const STARKNET_POP_FACTORY_START_BLOCK = SN.popFactoryStartBlock;\nexport const STARKNET_DROP_FACTORY_CONTRACT = SN.dropFactory;\nexport const STARKNET_DROP_FACTORY_START_BLOCK = SN.dropFactoryStartBlock;\nexport const STARKNET_NFTCOMMENTS_CONTRACT = SN.nftComments;\n\nexport const STARKNET_IP_TICKETS_FACTORY_CONTRACT = SN.ipTicketsFactory;\nexport const STARKNET_IP_CLUB_FACTORY_CONTRACT = SN.ipClubFactory;\nexport const STARKNET_IP_SPONSORSHIP_CONTRACT = SN.ipSponsorship;\n\nexport const STARKNET_MEDIAWALLET_CLASS_HASH = SN.mediaWalletClassHash;\n\nexport const STARKNET_CREATOR_COIN_FACTORY_CONTRACT = SN.creatorCoinFactory;\n\nexport const STARKNET_GENESIS_MINT_CONTRACT = SN.genesisMint;\nexport const STARKNET_GENESIS_NFT_URI = \"ipfs://bafkreiag6wzov7migmxwx3wrtudvbx4ajrlbjopqw7uni7nn2nsxv4eykm\";\n\nexport const SUPPORTED_TOKENS = [\n {\n\n symbol: \"USDC\",\n address:\n \"0x033068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb\",\n decimals: 6,\n listable: true,\n },\n {\n symbol: \"USDT\",\n address:\n \"0x068f5c6a61780768455de69077e07e89787839bf8166decfbf92b645209c0fb8\",\n decimals: 6,\n listable: true,\n },\n {\n symbol: \"ETH\",\n address:\n \"0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7\",\n decimals: 18,\n listable: true,\n },\n {\n symbol: \"STRK\",\n address:\n \"0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d\",\n decimals: 18,\n listable: true,\n },\n {\n symbol: \"WBTC\",\n address:\n \"0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac\",\n decimals: 8,\n listable: true,\n },\n] as const;\n\nexport type SupportedTokenSymbol = (typeof SUPPORTED_TOKENS)[number][\"symbol\"];\n\nexport const DEFAULT_CURRENCY: SupportedTokenSymbol = \"USDC\";\n","import { SUPPORTED_TOKENS } from \"../constants.js\";\n\nexport type SupportedToken = (typeof SUPPORTED_TOKENS)[number];\n\nexport function parseAmount(human: string, decimals: number): string {\n const [whole, frac = \"\"] = human.split(\".\");\n const fracPadded = frac.padEnd(decimals, \"0\").slice(0, decimals);\n return (BigInt(whole) * BigInt(10) ** BigInt(decimals) + BigInt(fracPadded)).toString();\n}\n\nexport function formatAmount(raw: string, decimals: number): string {\n const value = BigInt(raw);\n const factor = 10n ** BigInt(decimals);\n const whole = value / factor;\n const remainder = value % factor;\n const fractional = remainder.toString().padStart(decimals, \"0\").replace(/0+$/, \"\");\n return fractional ? `${whole}.${fractional}` : whole.toString();\n}\n\nexport function getTokenByAddress(address: string | null | undefined): SupportedToken | undefined {\n if (typeof address !== \"string\" || address.trim() === \"\") return undefined;\n\n let target: bigint | null = null;\n try {\n target = BigInt(address);\n } catch {\n target = null;\n }\n return SUPPORTED_TOKENS.find((t) => {\n if (target !== null) {\n try {\n return BigInt(t.address) === target;\n } catch {\n\n }\n }\n return t.address.toLowerCase() === address.toLowerCase();\n });\n}\n\nexport function getTokenBySymbol(symbol: string | null | undefined): SupportedToken | undefined {\n if (typeof symbol !== \"string\") return undefined;\n const upper = symbol.toUpperCase();\n return SUPPORTED_TOKENS.find((t) => t.symbol === upper);\n}\n\nexport function getListableTokens(): ReadonlyArray<SupportedToken> {\n return SUPPORTED_TOKENS.filter((t) => t.listable);\n}\n"]}
|