@campnetwork/origin 0.0.5 → 0.0.7

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/core.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import t from"axios";import{custom as e,createWalletClient as n,createPublicClient as i,http as a,erc20Abi as r,getAbiItem as s,encodeFunctionData as o,zeroAddress as d}from"viem";import{toAccount as u}from"viem/accounts";import{createSiweMessage as l}from"viem/siwe";
1
+ import e from"axios";import{custom as t,createWalletClient as n,createPublicClient as i,http as a,erc20Abi as r,getAbiItem as s,encodeFunctionData as o,zeroAddress as d}from"viem";import{toAccount as u}from"viem/accounts";import{createSiweMessage as l}from"viem/siwe";
2
2
  /******************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
15
  ***************************************************************************** */
16
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */function p(t,e,n,i){return new(n||(n=Promise))((function(a,r){function s(t){try{d(i.next(t))}catch(t){r(t)}}function o(t){try{d(i.throw(t))}catch(t){r(t)}}function d(t){var e;t.done?a(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,o)}d((i=i.apply(t,e||[])).next())}))}function c(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)}function y(t,e,n,i,a){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(t,n):a?a.value=n:e.set(t,n),n}"function"==typeof SuppressedError&&SuppressedError;class h extends Error{constructor(t,e){super(t),this.name="APIError",this.statusCode=e||500,Error.captureStackTrace(this,this.constructor)}toJSON(){return{error:this.name,message:this.message,statusCode:this.statusCode||500}}}
16
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */function p(e,t,n,i){return new(n||(n=Promise))((function(a,r){function s(e){try{d(i.next(e))}catch(e){r(e)}}function o(e){try{d(i.throw(e))}catch(e){r(e)}}function d(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,o)}d((i=i.apply(e,t||[])).next())}))}function c(e,t,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(e):i?i.value:t.get(e)}function y(e,t,n,i,a){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!a:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?a.call(e,n):a?a.value=n:t.set(e,n),n}"function"==typeof SuppressedError&&SuppressedError;class h extends Error{constructor(e,t){super(e),this.name="APIError",this.statusCode=t||500,Error.captureStackTrace(this,this.constructor)}toJSON(){return{error:this.name,message:this.message,statusCode:this.statusCode||500}}}
17
17
  /**
18
18
  * Makes a GET request to the given URL with the provided headers.
19
19
  *
@@ -21,7 +21,7 @@ PERFORMANCE OF THIS SOFTWARE.
21
21
  * @param {object} headers - The headers to include in the request.
22
22
  * @returns {Promise<object>} - The response data.
23
23
  * @throws {APIError} - Throws an error if the request fails.
24
- */function m(e){return p(this,arguments,void 0,(function*(e,n={}){try{return(yield t.get(e,{headers:n})).data}catch(t){if(t.response)throw new h(t.response.data.message||"API request failed",t.response.status);throw new h("Network error or server is unavailable",500)}}))}
24
+ */function m(t){return p(this,arguments,void 0,(function*(t,n={}){try{return(yield e.get(t,{headers:n})).data}catch(e){if(e.response)throw new h(e.response.data.message||"API request failed",e.response.status);throw new h("Network error or server is unavailable",500)}}))}
25
25
  /**
26
26
  * Constructs a query string from an object of query parameters.
27
27
  *
@@ -35,7 +35,7 @@ PERFORMANCE OF THIS SOFTWARE.
35
35
  * @param {object} params - An object representing query parameters.
36
36
  * @returns {string} - The complete URL with query string.
37
37
  */
38
- function f(t,e={}){const n=function(t={}){return Object.keys(t).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`)).join("&")}(e);return n?`${t}?${n}`:t}const w="https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev/twitter",v="https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev/spotify";
38
+ function f(e,t={}){const n=function(e={}){return Object.keys(e).map((t=>`${encodeURIComponent(t)}=${encodeURIComponent(e[t])}`)).join("&")}(t);return n?`${e}?${n}`:e}const w="https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev/twitter",v="https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev/spotify";
39
39
  /**
40
40
  * The TwitterAPI class.
41
41
  * @class
@@ -47,13 +47,13 @@ class T{
47
47
  * @param {object} options - The options object.
48
48
  * @param {string} options.apiKey - The API key. (Needed for data fetching)
49
49
  */
50
- constructor({apiKey:t}){this.apiKey=t}
50
+ constructor({apiKey:e}){this.apiKey=e}
51
51
  /**
52
52
  * Fetch Twitter user details by username.
53
53
  * @param {string} twitterUserName - The Twitter username.
54
54
  * @returns {Promise<object>} - The user details.
55
55
  * @throws {APIError} - Throws an error if the request fails.
56
- */fetchUserByUsername(t){return p(this,void 0,void 0,(function*(){const e=f(`${w}/user`,{twitterUserName:t});return this._fetchDataWithAuth(e)}))}
56
+ */fetchUserByUsername(e){return p(this,void 0,void 0,(function*(){const t=f(`${w}/user`,{twitterUserName:e});return this._fetchDataWithAuth(t)}))}
57
57
  /**
58
58
  * Fetch tweets by Twitter username.
59
59
  * @param {string} twitterUserName - The Twitter username.
@@ -61,7 +61,7 @@ constructor({apiKey:t}){this.apiKey=t}
61
61
  * @param {number} limit - The number of items per page.
62
62
  * @returns {Promise<object>} - The tweets.
63
63
  * @throws {APIError} - Throws an error if the request fails.
64
- */fetchTweetsByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/tweets`,{twitterUserName:t,page:e,limit:n});return this._fetchDataWithAuth(i)}))}
64
+ */fetchTweetsByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/tweets`,{twitterUserName:e,page:t,limit:n});return this._fetchDataWithAuth(i)}))}
65
65
  /**
66
66
  * Fetch followers by Twitter username.
67
67
  * @param {string} twitterUserName - The Twitter username.
@@ -69,7 +69,7 @@ constructor({apiKey:t}){this.apiKey=t}
69
69
  * @param {number} limit - The number of items per page.
70
70
  * @returns {Promise<object>} - The followers.
71
71
  * @throws {APIError} - Throws an error if the request fails.
72
- */fetchFollowersByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/followers`,{twitterUserName:t,page:e,limit:n});return this._fetchDataWithAuth(i)}))}
72
+ */fetchFollowersByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/followers`,{twitterUserName:e,page:t,limit:n});return this._fetchDataWithAuth(i)}))}
73
73
  /**
74
74
  * Fetch following by Twitter username.
75
75
  * @param {string} twitterUserName - The Twitter username.
@@ -77,13 +77,13 @@ constructor({apiKey:t}){this.apiKey=t}
77
77
  * @param {number} limit - The number of items per page.
78
78
  * @returns {Promise<object>} - The following.
79
79
  * @throws {APIError} - Throws an error if the request fails.
80
- */fetchFollowingByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/following`,{twitterUserName:t,page:e,limit:n});return this._fetchDataWithAuth(i)}))}
80
+ */fetchFollowingByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/following`,{twitterUserName:e,page:t,limit:n});return this._fetchDataWithAuth(i)}))}
81
81
  /**
82
82
  * Fetch tweet by tweet ID.
83
83
  * @param {string} tweetId - The tweet ID.
84
84
  * @returns {Promise<object>} - The tweet.
85
85
  * @throws {APIError} - Throws an error if the request fails.
86
- */fetchTweetById(t){return p(this,void 0,void 0,(function*(){const e=f(`${w}/getTweetById`,{tweetId:t});return this._fetchDataWithAuth(e)}))}
86
+ */fetchTweetById(e){return p(this,void 0,void 0,(function*(){const t=f(`${w}/getTweetById`,{tweetId:e});return this._fetchDataWithAuth(t)}))}
87
87
  /**
88
88
  * Fetch user by wallet address.
89
89
  * @param {string} walletAddress - The wallet address.
@@ -91,7 +91,7 @@ constructor({apiKey:t}){this.apiKey=t}
91
91
  * @param {number} limit - The number of items per page.
92
92
  * @returns {Promise<object>} - The user data.
93
93
  * @throws {APIError} - Throws an error if the request fails.
94
- */fetchUserByWalletAddress(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/wallet-twitter-data`,{walletAddress:t,page:e,limit:n});return this._fetchDataWithAuth(i)}))}
94
+ */fetchUserByWalletAddress(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/wallet-twitter-data`,{walletAddress:e,page:t,limit:n});return this._fetchDataWithAuth(i)}))}
95
95
  /**
96
96
  * Fetch reposted tweets by Twitter username.
97
97
  * @param {string} twitterUserName - The Twitter username.
@@ -99,7 +99,7 @@ constructor({apiKey:t}){this.apiKey=t}
99
99
  * @param {number} limit - The number of items per page.
100
100
  * @returns {Promise<object>} - The reposted tweets.
101
101
  * @throws {APIError} - Throws an error if the request fails.
102
- */fetchRepostedByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/reposted`,{twitterUserName:t,page:e,limit:n});return this._fetchDataWithAuth(i)}))}
102
+ */fetchRepostedByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/reposted`,{twitterUserName:e,page:t,limit:n});return this._fetchDataWithAuth(i)}))}
103
103
  /**
104
104
  * Fetch replies by Twitter username.
105
105
  * @param {string} twitterUserName - The Twitter username.
@@ -107,7 +107,7 @@ constructor({apiKey:t}){this.apiKey=t}
107
107
  * @param {number} limit - The number of items per page.
108
108
  * @returns {Promise<object>} - The replies.
109
109
  * @throws {APIError} - Throws an error if the request fails.
110
- */fetchRepliesByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/replies`,{twitterUserName:t,page:e,limit:n});return this._fetchDataWithAuth(i)}))}
110
+ */fetchRepliesByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/replies`,{twitterUserName:e,page:t,limit:n});return this._fetchDataWithAuth(i)}))}
111
111
  /**
112
112
  * Fetch likes by Twitter username.
113
113
  * @param {string} twitterUserName - The Twitter username.
@@ -115,7 +115,7 @@ constructor({apiKey:t}){this.apiKey=t}
115
115
  * @param {number} limit - The number of items per page.
116
116
  * @returns {Promise<object>} - The likes.
117
117
  * @throws {APIError} - Throws an error if the request fails.
118
- */fetchLikesByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/event/likes/${t}`,{page:e,limit:n});return this._fetchDataWithAuth(i)}))}
118
+ */fetchLikesByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/event/likes/${e}`,{page:t,limit:n});return this._fetchDataWithAuth(i)}))}
119
119
  /**
120
120
  * Fetch follows by Twitter username.
121
121
  * @param {string} twitterUserName - The Twitter username.
@@ -123,7 +123,7 @@ constructor({apiKey:t}){this.apiKey=t}
123
123
  * @param {number} limit - The number of items per page.
124
124
  * @returns {Promise<object>} - The follows.
125
125
  * @throws {APIError} - Throws an error if the request fails.
126
- */fetchFollowsByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/event/follows/${t}`,{page:e,limit:n});return this._fetchDataWithAuth(i)}))}
126
+ */fetchFollowsByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/event/follows/${e}`,{page:t,limit:n});return this._fetchDataWithAuth(i)}))}
127
127
  /**
128
128
  * Fetch viewed tweets by Twitter username.
129
129
  * @param {string} twitterUserName - The Twitter username.
@@ -131,13 +131,13 @@ constructor({apiKey:t}){this.apiKey=t}
131
131
  * @param {number} limit - The number of items per page.
132
132
  * @returns {Promise<object>} - The viewed tweets.
133
133
  * @throws {APIError} - Throws an error if the request fails.
134
- */fetchViewedTweetsByUsername(t){return p(this,arguments,void 0,(function*(t,e=1,n=10){const i=f(`${w}/event/viewed-tweets/${t}`,{page:e,limit:n});return this._fetchDataWithAuth(i)}))}
134
+ */fetchViewedTweetsByUsername(e){return p(this,arguments,void 0,(function*(e,t=1,n=10){const i=f(`${w}/event/viewed-tweets/${e}`,{page:t,limit:n});return this._fetchDataWithAuth(i)}))}
135
135
  /**
136
136
  * Private method to fetch data with authorization header.
137
137
  * @param {string} url - The URL to fetch.
138
138
  * @returns {Promise<object>} - The response data.
139
139
  * @throws {APIError} - Throws an error if the request fails.
140
- */_fetchDataWithAuth(t){return p(this,void 0,void 0,(function*(){if(!this.apiKey)throw new h("API key is required for fetching data",401);try{return yield m(t,{"x-api-key":this.apiKey})}catch(t){throw new h(t.message,t.statusCode)}}))}}
140
+ */_fetchDataWithAuth(e){return p(this,void 0,void 0,(function*(){if(!this.apiKey)throw new h("API key is required for fetching data",401);try{return yield m(e,{"x-api-key":this.apiKey})}catch(e){throw new h(e.message,e.statusCode)}}))}}
141
141
  /**
142
142
  * The SpotifyAPI class.
143
143
  * @class
@@ -149,59 +149,59 @@ constructor({apiKey:t}){this.apiKey=t}
149
149
  * @param {string} options.apiKey - The Spotify API key.
150
150
  * @throws {Error} - Throws an error if the API key is not provided.
151
151
  */
152
- constructor(t){this.apiKey=t.apiKey}
152
+ constructor(e){this.apiKey=e.apiKey}
153
153
  /**
154
154
  * Fetch the user's saved tracks by Spotify user ID.
155
155
  * @param {string} spotifyId - The user's Spotify ID.
156
156
  * @returns {Promise<object>} - The saved tracks.
157
157
  * @throws {APIError} - Throws an error if the request fails.
158
- */fetchSavedTracksById(t){return p(this,void 0,void 0,(function*(){const e=f(`${v}/save-tracks`,{spotifyId:t});return this._fetchDataWithAuth(e)}))}
158
+ */fetchSavedTracksById(e){return p(this,void 0,void 0,(function*(){const t=f(`${v}/save-tracks`,{spotifyId:e});return this._fetchDataWithAuth(t)}))}
159
159
  /**
160
160
  * Fetch the played tracks of a user by Spotify ID.
161
161
  * @param {string} spotifyId - The user's Spotify ID.
162
162
  * @returns {Promise<object>} - The played tracks.
163
163
  * @throws {APIError} - Throws an error if the request fails.
164
- */fetchPlayedTracksById(t){return p(this,void 0,void 0,(function*(){const e=f(`${v}/played-tracks`,{spotifyId:t});return this._fetchDataWithAuth(e)}))}
164
+ */fetchPlayedTracksById(e){return p(this,void 0,void 0,(function*(){const t=f(`${v}/played-tracks`,{spotifyId:e});return this._fetchDataWithAuth(t)}))}
165
165
  /**
166
166
  * Fetch the user's saved albums by Spotify user ID.
167
167
  * @param {string} spotifyId - The user's Spotify ID.
168
168
  * @returns {Promise<object>} - The saved albums.
169
169
  * @throws {APIError} - Throws an error if the request fails.
170
- */fetchSavedAlbumsById(t){return p(this,void 0,void 0,(function*(){const e=f(`${v}/saved-albums`,{spotifyId:t});return this._fetchDataWithAuth(e)}))}
170
+ */fetchSavedAlbumsById(e){return p(this,void 0,void 0,(function*(){const t=f(`${v}/saved-albums`,{spotifyId:e});return this._fetchDataWithAuth(t)}))}
171
171
  /**
172
172
  * Fetch the user's saved playlists by Spotify user ID.
173
173
  * @param {string} spotifyId - The user's Spotify ID.
174
174
  * @returns {Promise<object>} - The saved playlists.
175
175
  * @throws {APIError} - Throws an error if the request fails.
176
- */fetchSavedPlaylistsById(t){return p(this,void 0,void 0,(function*(){const e=f(`${v}/saved-playlists`,{spotifyId:t});return this._fetchDataWithAuth(e)}))}
176
+ */fetchSavedPlaylistsById(e){return p(this,void 0,void 0,(function*(){const t=f(`${v}/saved-playlists`,{spotifyId:e});return this._fetchDataWithAuth(t)}))}
177
177
  /**
178
178
  * Fetch the tracks of an album by album ID.
179
179
  * @param {string} spotifyId - The Spotify ID of the user.
180
180
  * @param {string} albumId - The album ID.
181
181
  * @returns {Promise<object>} - The tracks in the album.
182
182
  * @throws {APIError} - Throws an error if the request fails.
183
- */fetchTracksInAlbum(t,e){return p(this,void 0,void 0,(function*(){const n=f(`${v}/album/tracks`,{spotifyId:t,albumId:e});return this._fetchDataWithAuth(n)}))}
183
+ */fetchTracksInAlbum(e,t){return p(this,void 0,void 0,(function*(){const n=f(`${v}/album/tracks`,{spotifyId:e,albumId:t});return this._fetchDataWithAuth(n)}))}
184
184
  /**
185
185
  * Fetch the tracks in a playlist by playlist ID.
186
186
  * @param {string} spotifyId - The Spotify ID of the user.
187
187
  * @param {string} playlistId - The playlist ID.
188
188
  * @returns {Promise<object>} - The tracks in the playlist.
189
189
  * @throws {APIError} - Throws an error if the request fails.
190
- */fetchTracksInPlaylist(t,e){return p(this,void 0,void 0,(function*(){const n=f(`${v}/playlist/tracks`,{spotifyId:t,playlistId:e});return this._fetchDataWithAuth(n)}))}
190
+ */fetchTracksInPlaylist(e,t){return p(this,void 0,void 0,(function*(){const n=f(`${v}/playlist/tracks`,{spotifyId:e,playlistId:t});return this._fetchDataWithAuth(n)}))}
191
191
  /**
192
192
  * Fetch the user's Spotify data by wallet address.
193
193
  * @param {string} walletAddress - The wallet address.
194
194
  * @returns {Promise<object>} - The user's Spotify data.
195
195
  * @throws {APIError} - Throws an error if the request fails.
196
- */fetchUserByWalletAddress(t){return p(this,void 0,void 0,(function*(){const e=f(`${v}/wallet-spotify-data`,{walletAddress:t});return this._fetchDataWithAuth(e)}))}
196
+ */fetchUserByWalletAddress(e){return p(this,void 0,void 0,(function*(){const t=f(`${v}/wallet-spotify-data`,{walletAddress:e});return this._fetchDataWithAuth(t)}))}
197
197
  /**
198
198
  * Private method to fetch data with authorization header.
199
199
  * @param {string} url - The URL to fetch.
200
200
  * @returns {Promise<object>} - The response data.
201
201
  * @throws {APIError} - Throws an error if the request fails.
202
- */_fetchDataWithAuth(t){return p(this,void 0,void 0,(function*(){if(!this.apiKey)throw new h("API key is required for fetching data",401);try{return yield m(t,{"x-api-key":this.apiKey})}catch(t){throw new h(t.message,t.statusCode)}}))}}const g={id:123420001114,name:"Basecamp",nativeCurrency:{decimals:18,name:"Camp",symbol:"CAMP"},rpcUrls:{default:{http:["https://rpc-campnetwork.xyz","https://rpc.basecamp.t.raas.gelato.cloud"]}},blockExplorers:{default:{name:"Explorer",url:"https://basecamp.cloud.blockscout.com/"}}};
202
+ */_fetchDataWithAuth(e){return p(this,void 0,void 0,(function*(){if(!this.apiKey)throw new h("API key is required for fetching data",401);try{return yield m(e,{"x-api-key":this.apiKey})}catch(e){throw new h(e.message,e.statusCode)}}))}}const g={id:123420001114,name:"Basecamp",nativeCurrency:{decimals:18,name:"Camp",symbol:"CAMP"},rpcUrls:{default:{http:["https://rpc-campnetwork.xyz","https://rpc.basecamp.t.raas.gelato.cloud"]}},blockExplorers:{default:{name:"Explorer",url:"https://basecamp.cloud.blockscout.com/"}}};
203
203
  // @ts-ignore
204
- let I=null,k=null;const A=()=>(k||(k=i({chain:g,transport:a()})),k);var C="Connect with Camp Network",M="https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",E={USER_CONNECTED:"ed42542d-b676-4112-b6d9-6db98048b2e0",USER_DISCONNECTED:"20af31ac-e602-442e-9e0e-b589f4dd4016",TWITTER_LINKED:"7fbea086-90ef-4679-ba69-f47f9255b34c",DISCORD_LINKED:"d73f5ae3-a8e8-48f2-8532-85e0c7780d6a",SPOTIFY_LINKED:"fc1788b4-c984-42c8-96f4-c87f6bb0b8f7",TIKTOK_LINKED:"4a2ffdd3-f0e9-4784-8b49-ff76ec1c0a6a",TELEGRAM_LINKED:"9006bc5d-bcc9-4d01-a860-4f1a201e8e47"},x="0xd064817Dc0Af032c3fb5dd4671fd10E0a5F0515D",S="0x3B782d053de8910cC0EF3DC09EEA055229a70c6b";let $=[];const D=()=>$,F=t=>{function e(e){$.some((t=>t.info.uuid===e.detail.info.uuid))||($=[...$,e.detail],t($))}if("undefined"!=typeof window)return window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new Event("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",e)};var j=[{inputs:[{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_symbol",type:"string"},{internalType:"string",name:"_baseURI",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"DurationZero",type:"error"},{inputs:[{internalType:"uint16",name:"royaltyBps",type:"uint16"}],name:"InvalidRoyalty",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"NotTokenOwner",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"TokenAlreadyExists",type:"error"},{inputs:[],name:"URIQueryForNonexistentToken",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{inputs:[],name:"Verifier_InvalidDeadline",type:"error"},{inputs:[],name:"Verifier_InvalidSignature",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint32",name:"periods",type:"uint32"},{indexed:!1,internalType:"uint64",name:"newExpiry",type:"uint64"},{indexed:!1,internalType:"uint256",name:"amountPaid",type:"uint256"}],name:"AccessPurchased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"DataDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"creator",type:"address"}],name:"DataDeletionRequested",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"bytes32",name:"contentHash",type:"bytes32"}],name:"DataMinted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"royaltyAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"uint256",name:"protocolAmount",type:"uint256"}],name:"RoyaltyPaid",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"newPrice",type:"uint128"},{indexed:!1,internalType:"uint32",name:"newDuration",type:"uint32"},{indexed:!1,internalType:"uint16",name:"newRoyaltyBps",type:"uint16"},{indexed:!1,internalType:"address",name:"paymentToken",type:"address"}],name:"TermsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"creator",type:"address"}],name:"addCreator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pauser",type:"address"}],name:"addPauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"contentHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"creators",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"dataStatus",outputs:[{internalType:"enum DataNFT.DataStatus",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"finalizeDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getTerms",outputs:[{components:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],internalType:"struct DataNFT.LicenseTerms",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner_",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes32",name:"hash",type:"bytes32"},{internalType:"string",name:"uri",type:"string"},{components:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],internalType:"struct DataNFT.LicenseTerms",name:"licenseTerms",type:"tuple"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"mintWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"pausers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"creator",type:"address"}],name:"removeCreator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"pauser",type:"address"}],name:"removePauser",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"requestDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"salePrice",type:"uint256"}],name:"royaltyInfo",outputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"royaltyAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"royaltyPercentages",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"royaltyReceivers",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"terms",outputs:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{components:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],internalType:"struct DataNFT.LicenseTerms",name:"newTerms",type:"tuple"}],name:"updateTerms",outputs:[],stateMutability:"nonpayable",type:"function"}];
204
+ let I=null,k=null;const A=()=>(k||(k=i({chain:g,transport:a()})),k);var C="Connect with Camp Network",E="https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",x={USER_CONNECTED:"ed42542d-b676-4112-b6d9-6db98048b2e0",USER_DISCONNECTED:"20af31ac-e602-442e-9e0e-b589f4dd4016",TWITTER_LINKED:"7fbea086-90ef-4679-ba69-f47f9255b34c",DISCORD_LINKED:"d73f5ae3-a8e8-48f2-8532-85e0c7780d6a",SPOTIFY_LINKED:"fc1788b4-c984-42c8-96f4-c87f6bb0b8f7",TIKTOK_LINKED:"4a2ffdd3-f0e9-4784-8b49-ff76ec1c0a6a",TELEGRAM_LINKED:"9006bc5d-bcc9-4d01-a860-4f1a201e8e47"},M="0xb55066f2793773B3784f8c57c415a8b5932B33Cd",S="0x977fdEF62CE095Ae8750Fd3496730F24F60dea7a";let O=[];const $=()=>O,F=e=>{function t(t){O.some((e=>e.info.uuid===t.detail.info.uuid))||(O=[...O,t.detail],e(O))}if("undefined"!=typeof window)return window.addEventListener("eip6963:announceProvider",t),window.dispatchEvent(new Event("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",t)};var j=[{inputs:[{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_symbol",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"DurationZero",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"owner",type:"address"}],name:"ERC721IncorrectOwner",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721InsufficientApproval",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC721InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"ERC721InvalidOperator",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"ERC721InvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC721InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC721InvalidSender",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ERC721NonexistentToken",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"InvalidDeadline",type:"error"},{inputs:[{internalType:"uint16",name:"royaltyBps",type:"uint16"}],name:"InvalidRoyalty",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"caller",type:"address"}],name:"NotTokenOwner",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[],name:"SignatureAlreadyUsed",type:"error"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"TokenAlreadyExists",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint32",name:"periods",type:"uint32"},{indexed:!1,internalType:"uint256",name:"newExpiry",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountPaid",type:"uint256"}],name:"AccessPurchased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"creator",type:"address"}],name:"DataDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"bytes32",name:"contentHash",type:"bytes32"}],name:"DataMinted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"royaltyAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"uint256",name:"protocolAmount",type:"uint256"}],name:"RoyaltyPaid",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"newPrice",type:"uint128"},{indexed:!1,internalType:"uint32",name:"newDuration",type:"uint32"},{indexed:!1,internalType:"uint16",name:"newRoyaltyBps",type:"uint16"},{indexed:!1,internalType:"address",name:"paymentToken",type:"address"}],name:"TermsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"contentHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"dataStatus",outputs:[{internalType:"enum IpNFT.DataStatus",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"finalizeDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getTerms",outputs:[{components:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],internalType:"struct IpNFT.LicenseTerms",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes32",name:"creatorContentHash",type:"bytes32"},{internalType:"string",name:"uri",type:"string"},{components:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],internalType:"struct IpNFT.LicenseTerms",name:"licenseTerms",type:"tuple"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"bytes",name:"signature",type:"bytes"}],name:"mintWithSignature",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint256",name:"salePrice",type:"uint256"}],name:"royaltyInfo",outputs:[{internalType:"address",name:"receiver",type:"address"},{internalType:"uint256",name:"royaltyAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"royaltyPercentages",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"royaltyReceivers",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"terms",outputs:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"address",name:"_royaltyReceiver",type:"address"},{components:[{internalType:"uint128",name:"price",type:"uint128"},{internalType:"uint32",name:"duration",type:"uint32"},{internalType:"uint16",name:"royaltyBps",type:"uint16"},{internalType:"address",name:"paymentToken",type:"address"}],internalType:"struct IpNFT.LicenseTerms",name:"newTerms",type:"tuple"}],name:"updateTerms",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"usedNonces",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];
205
205
  /**
206
206
  * Mints a Data NFT with a signature.
207
207
  * @param to The address to mint the NFT to.
@@ -212,14 +212,14 @@ let I=null,k=null;const A=()=>(k||(k=i({chain:g,transport:a()})),k);var C="Conne
212
212
  * @param deadline The deadline for the minting operation.
213
213
  * @param signature The signature for the minting operation.
214
214
  * @returns A promise that resolves when the minting is complete.
215
- */function P(t,e,n,i,a,r,s){return p(this,void 0,void 0,(function*(){return yield this.callContractMethod(x,j,"mintWithSignature",[t,e,n,i,a,r,s.v,s.r,s.s],{waitForReceipt:!0})}))}
215
+ */function P(e,t,n,i,a,r,s){return p(this,void 0,void 0,(function*(){return yield this.callContractMethod(M,j,"mintWithSignature",[e,t,n,i,a,r,s],{waitForReceipt:!0})}))}
216
216
  /**
217
217
  * Registers a Data NFT with the Origin service in order to obtain a signature for minting.
218
218
  * @param source The source of the Data NFT (e.g., "spotify", "twitter", "tiktok", or "file").
219
219
  * @param deadline The deadline for the registration operation.
220
220
  * @param fileKey Optional file key for file uploads.
221
221
  * @return A promise that resolves with the registration data.
222
- */function U(t,e,n){return p(this,void 0,void 0,(function*(){const i={source:t,deadline:e.toString()};void 0!==n&&(i.fileKey=n);const a=yield fetch(`${M}/auth/origin/register`,{method:"POST",headers:{Authorization:`Bearer ${this.getJwt()}`},body:JSON.stringify(i)});if(!a.ok)throw new Error(`Failed to get signature: ${a.statusText}`);const r=yield a.json();if(r.isError)throw new Error(`Failed to get signature: ${r.message}`);return r.data}))}function N(t,e){return this.callContractMethod(x,j,"updateTerms",[t,e],{waitForReceipt:!0})}function O(t){return this.callContractMethod(x,j,"requestDelete",[t])}function B(t){return this.callContractMethod(x,j,"getTerms",[t])}function _(t){return this.callContractMethod(x,j,"ownerOf",[t])}function W(t){return this.callContractMethod(x,j,"balanceOf",[t])}function R(t){return this.callContractMethod(x,j,"contentHash",[t])}function q(t){return this.callContractMethod(x,j,"tokenURI",[t])}function z(t){return this.callContractMethod(x,j,"dataStatus",[t])}function L(t,e){return p(this,void 0,void 0,(function*(){return this.callContractMethod(x,j,"royaltyInfo",[t,e])}))}function K(t){return this.callContractMethod(x,j,"getApproved",[t])}function J(t,e){return this.callContractMethod(x,j,"isApprovedForAll",[t,e])}function H(t,e,n){return this.callContractMethod(x,j,"transferFrom",[t,e,n])}function G(t,e,n,i){const a=i?[t,e,n,i]:[t,e,n];return this.callContractMethod(x,j,"safeTransferFrom",a)}function V(t,e){return this.callContractMethod(x,j,"approve",[t,e])}function Z(t,e){return this.callContractMethod(x,j,"setApprovalForAll",[t,e])}var Q,Y,X,tt,et,nt,it,at,rt,st,ot,dt,ut,lt,pt,ct=[{type:"constructor",inputs:[{name:"dataNFT_",type:"address",internalType:"address"},{name:"router_",type:"address",internalType:"address"},{name:"protocolFeeBps_",type:"uint16",internalType:"uint16"}],stateMutability:"nonpayable"},{type:"function",name:"addFeeManager",inputs:[{name:"feeManager",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"addPauser",inputs:[{name:"pauser",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"buyAccess",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"periods",type:"uint32",internalType:"uint32"}],outputs:[],stateMutability:"payable"},{type:"function",name:"dataNFT",inputs:[],outputs:[{name:"",type:"address",internalType:"contract DataNFT"}],stateMutability:"view"},{type:"function",name:"feeManagers",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"hasAccess",inputs:[{name:"user",type:"address",internalType:"address"},{name:"tokenId",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"pausers",inputs:[{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"protocolFeeBps",inputs:[],outputs:[{name:"",type:"uint16",internalType:"uint16"}],stateMutability:"view"},{type:"function",name:"removeFeeManager",inputs:[{name:"feeManager",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"removePauser",inputs:[{name:"pauser",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renewAccess",inputs:[{name:"tokenId",type:"uint256",internalType:"uint256"},{name:"buyer",type:"address",internalType:"address"},{name:"periods",type:"uint32",internalType:"uint32"}],outputs:[],stateMutability:"payable"},{type:"function",name:"router",inputs:[],outputs:[{name:"",type:"address",internalType:"contract RoyaltyRouter"}],stateMutability:"view"},{type:"function",name:"subscriptionExpiry",inputs:[{name:"",type:"uint256",internalType:"uint256"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint64",internalType:"uint64"}],stateMutability:"view"},{type:"function",name:"unpause",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateProtocolFee",inputs:[{name:"newFeeBps",type:"uint16",internalType:"uint16"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"AccessPurchased",inputs:[{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"},{name:"buyer",type:"address",indexed:!0,internalType:"address"},{name:"periods",type:"uint32",indexed:!1,internalType:"uint32"},{name:"newExpiry",type:"uint64",indexed:!1,internalType:"uint64"},{name:"amountPaid",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"DataDeleted",inputs:[{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"}],anonymous:!1},{type:"event",name:"DataDeletionRequested",inputs:[{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"},{name:"creator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"DataMinted",inputs:[{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"},{name:"creator",type:"address",indexed:!0,internalType:"address"},{name:"contentHash",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"RoyaltyPaid",inputs:[{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"},{name:"royaltyAmount",type:"uint256",indexed:!1,internalType:"uint256"},{name:"creator",type:"address",indexed:!1,internalType:"address"},{name:"protocolAmount",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"TermsUpdated",inputs:[{name:"tokenId",type:"uint256",indexed:!0,internalType:"uint256"},{name:"newPrice",type:"uint128",indexed:!1,internalType:"uint128"},{name:"newDuration",type:"uint32",indexed:!1,internalType:"uint32"},{name:"newRoyaltyBps",type:"uint16",indexed:!1,internalType:"uint16"},{name:"paymentToken",type:"address",indexed:!1,internalType:"address"}],anonymous:!1},{type:"error",name:"DurationZero",inputs:[]},{type:"error",name:"InvalidPayment",inputs:[{name:"expected",type:"uint256",internalType:"uint256"},{name:"actual",type:"uint256",internalType:"uint256"}]},{type:"error",name:"InvalidPeriods",inputs:[{name:"periods",type:"uint32",internalType:"uint32"}]},{type:"error",name:"InvalidRoyalty",inputs:[{name:"royaltyBps",type:"uint16",internalType:"uint16"}]},{type:"error",name:"Unauthorized",inputs:[]},{type:"error",name:"ZeroAddress",inputs:[]}];function yt(t,e,n){return this.callContractMethod(S,ct,"buyAccess",[t,e],{waitForReceipt:!0,value:n})}function ht(t,e,n,i){return this.callContractMethod(S,ct,"renewAccess",[t,e,n],void 0!==i?{value:i}:void 0)}function mt(t,e){return this.callContractMethod(S,ct,"hasAccess",[t,e])}function ft(t,e){return this.callContractMethod(S,ct,"subscriptionExpiry",[t,e])}
222
+ */function U(e,t,n,i){return p(this,void 0,void 0,(function*(){const a={source:e,deadline:Number(t),licenseTerms:{price:n.price.toString(),duration:n.duration,royaltyBps:n.royaltyBps,paymentToken:n.paymentToken}};void 0!==i&&(a.fileKey=i);const r=yield fetch(`${E}/auth/origin/register`,{method:"POST",headers:{Authorization:`Bearer ${this.getJwt()}`},body:JSON.stringify(a)});if(!r.ok)throw new Error(`Failed to get signature: ${r.statusText}`);const s=yield r.json();if(s.isError)throw new Error(`Failed to get signature: ${s.message}`);return s.data}))}function N(e,t){return this.callContractMethod(M,j,"updateTerms",[e,t],{waitForReceipt:!0})}function B(e){return this.callContractMethod(M,j,"requestDelete",[e])}function D(e){return this.callContractMethod(M,j,"getTerms",[e])}function _(e){return this.callContractMethod(M,j,"ownerOf",[e])}function W(e){return this.callContractMethod(M,j,"balanceOf",[e])}function R(e){return this.callContractMethod(M,j,"contentHash",[e])}function q(e){return this.callContractMethod(M,j,"tokenURI",[e])}function z(e){return this.callContractMethod(M,j,"dataStatus",[e])}function L(e,t){return p(this,void 0,void 0,(function*(){return this.callContractMethod(M,j,"royaltyInfo",[e,t])}))}function K(e){return this.callContractMethod(M,j,"getApproved",[e])}function J(e,t){return this.callContractMethod(M,j,"isApprovedForAll",[e,t])}function H(e,t,n){return this.callContractMethod(M,j,"transferFrom",[e,t,n])}function G(e,t,n,i){const a=i?[e,t,n,i]:[e,t,n];return this.callContractMethod(M,j,"safeTransferFrom",a)}function V(e,t){return this.callContractMethod(M,j,"approve",[e,t])}function Z(e,t){return this.callContractMethod(M,j,"setApprovalForAll",[e,t])}var Y,Q,X,ee,te,ne,ie,ae,re,se,oe,de,ue,le,pe,ce=[{inputs:[{internalType:"address",name:"dataNFT_",type:"address"},{internalType:"uint16",name:"protocolFeeBps_",type:"uint16"},{internalType:"address",name:"treasury_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"actual",type:"uint256"}],name:"InvalidPayment",type:"error"},{inputs:[{internalType:"uint32",name:"periods",type:"uint32"}],name:"InvalidPeriods",type:"error"},{inputs:[{internalType:"uint16",name:"royaltyBps",type:"uint16"}],name:"InvalidRoyalty",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[],name:"TransferFailed",type:"error"},{inputs:[],name:"Unauthorized",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"buyer",type:"address"},{indexed:!1,internalType:"uint32",name:"periods",type:"uint32"},{indexed:!1,internalType:"uint256",name:"newExpiry",type:"uint256"},{indexed:!1,internalType:"uint256",name:"amountPaid",type:"uint256"}],name:"AccessPurchased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"creator",type:"address"}],name:"DataDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!0,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"bytes32",name:"contentHash",type:"bytes32"}],name:"DataMinted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"royaltyAmount",type:"uint256"},{indexed:!1,internalType:"address",name:"creator",type:"address"},{indexed:!1,internalType:"uint256",name:"protocolAmount",type:"uint256"}],name:"RoyaltyPaid",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint128",name:"newPrice",type:"uint128"},{indexed:!1,internalType:"uint32",name:"newDuration",type:"uint32"},{indexed:!1,internalType:"uint16",name:"newRoyaltyBps",type:"uint16"},{indexed:!1,internalType:"address",name:"paymentToken",type:"address"}],name:"TermsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[{internalType:"address",name:"feeManager",type:"address"}],name:"addFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"buyer",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"uint32",name:"periods",type:"uint32"}],name:"buyAccess",outputs:[],stateMutability:"payable",type:"function"},{inputs:[],name:"dataNFT",outputs:[{internalType:"contract IpNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"feeManagers",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"hasAccess",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"protocolFeeBps",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"feeManager",type:"address"}],name:"removeFeeManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"address",name:"",type:"address"}],name:"subscriptionExpiry",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"treasury",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"newFeeBps",type:"uint16"}],name:"updateProtocolFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newTreasury",type:"address"}],name:"updateTreasury",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];function ye(e,t,n){return this.callContractMethod(S,ce,"buyAccess",[e,t],{waitForReceipt:!0,value:n})}function he(e,t,n,i){return this.callContractMethod(S,ce,"renewAccess",[e,t,n],void 0!==i?{value:i}:void 0)}function me(e,t){return this.callContractMethod(S,ce,"hasAccess",[e,t])}function fe(e,t){return this.callContractMethod(S,ce,"subscriptionExpiry",[e,t])}
223
223
  /**
224
224
  * Approves a spender to spend a specified amount of tokens on behalf of the owner.
225
225
  * If the current allowance is less than the specified amount, it will perform the approval.
@@ -229,35 +229,45 @@ let I=null,k=null;const A=()=>(k||(k=i({chain:g,transport:a()})),k);var C="Conne
229
229
  * The Origin class
230
230
  * Handles the upload of files to Origin, as well as querying the user's stats
231
231
  */
232
- class wt{constructor(e,n){Q.add(this),Y.set(this,(t=>p(this,void 0,void 0,(function*(){const e=yield fetch(`${M}/auth/origin/upload-url`,{method:"POST",body:JSON.stringify({name:t.name,type:t.type}),headers:{Authorization:`Bearer ${this.jwt}`}}),n=yield e.json();return n.isError?n.message:n.data})))),X.set(this,((t,e)=>p(this,void 0,void 0,(function*(){(yield fetch(`${M}/auth/origin/update-status`,{method:"PATCH",body:JSON.stringify({status:e,fileKey:t}),headers:{Authorization:`Bearer ${this.jwt}`,"Content-Type":"application/json"}})).ok||console.error("Failed to update origin status")})))),this.uploadFile=(e,n)=>p(this,void 0,void 0,(function*(){const i=yield c(this,Y,"f").call(this,e);if(i){try{yield((e,n,i)=>new Promise(((a,r)=>{t.put(n,e,Object.assign({headers:{"Content-Type":e.type}},"undefined"!=typeof window&&"function"==typeof i?{onUploadProgress:t=>{if(t.total){const e=t.loaded/t.total*100;i(e)}}}:{})).then((t=>{a(t.data)})).catch((t=>{var e;const n=(null===(e=null==t?void 0:t.response)||void 0===e?void 0:e.data)||(null==t?void 0:t.message)||"Upload failed";r(n)}))})))(e,i.url,(null==n?void 0:n.progressCallback)||(()=>{}))}catch(t){throw yield c(this,X,"f").call(this,i.key,"failed"),new Error("Failed to upload file: "+t)}return yield c(this,X,"f").call(this,i.key,"success"),i}console.error("Failed to generate upload URL")})),this.mintFile=(t,e,n)=>p(this,void 0,void 0,(function*(){if(!this.viemClient)throw new Error("WalletClient not connected.");try{const i=yield this.uploadFile(t,n);if(!i||!i.key)return console.error("Invalid upload info:",i),null;const a=BigInt(Math.floor(Date.now()/1e3)+600),r=yield this.registerDataNFT("file",a,i.key),{tokenId:s,signerAddress:o,hash:d,v:u,r:l,s:p}=r;// 10 minutes from now
233
- if(!s||!o||!d||void 0===u||void 0===l||void 0===p)return console.error("Invalid registration data:",r),null;const[c]=yield this.viemClient.request({method:"eth_requestAccounts",params:[]}),y={v:u,r:l,s:p};yield this.mintWithSignature(c,s,d,i.url,e,a,y);return s.toString()}catch(t){return console.error("Failed to upload file:",t),null}})),this.mintSocial=t=>p(this,void 0,void 0,(function*(){try{const e=BigInt(Math.floor(Date.now()/1e3)+600),n=yield this.registerDataNFT(t,e);// 10 minutes from now (temp)
234
- return n?n.tokenId.toString():(console.error("Failed to register DataNFT"),null)}catch(t){return console.error("Failed to mint social DataNFT:",t),null}})),this.getOriginUploads=()=>p(this,void 0,void 0,(function*(){const t=yield fetch(`${M}/auth/origin/files`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`}});if(!t.ok)return console.error("Failed to get origin uploads"),null;return(yield t.json()).data})),this.jwt=e,this.viemClient=n,
232
+ class we{constructor(t,n){Y.add(this),Q.set(this,(e=>p(this,void 0,void 0,(function*(){const t=yield fetch(`${E}/auth/origin/upload-url`,{method:"POST",body:JSON.stringify({name:e.name,type:e.type}),headers:{Authorization:`Bearer ${this.jwt}`}}),n=yield t.json();return n.isError?n.message:n.data})))),X.set(this,((e,t)=>p(this,void 0,void 0,(function*(){(yield fetch(`${E}/auth/origin/update-status`,{method:"PATCH",body:JSON.stringify({status:t,fileKey:e}),headers:{Authorization:`Bearer ${this.jwt}`,"Content-Type":"application/json"}})).ok||console.error("Failed to update origin status")})))),this.uploadFile=(t,n)=>p(this,void 0,void 0,(function*(){const i=yield c(this,Q,"f").call(this,t);if(i){try{yield((t,n,i)=>new Promise(((a,r)=>{e.put(n,t,Object.assign({headers:{"Content-Type":t.type}},"undefined"!=typeof window&&"function"==typeof i?{onUploadProgress:e=>{if(e.total){const t=e.loaded/e.total*100;i(t)}}}:{})).then((e=>{a(e.data)})).catch((e=>{var t;const n=(null===(t=null==e?void 0:e.response)||void 0===t?void 0:t.data)||(null==e?void 0:e.message)||"Upload failed";r(n)}))})))(t,i.url,(null==n?void 0:n.progressCallback)||(()=>{}))}catch(e){throw yield c(this,X,"f").call(this,i.key,"failed"),new Error("Failed to upload file: "+e)}return yield c(this,X,"f").call(this,i.key,"success"),i}console.error("Failed to generate upload URL")})),this.mintFile=(e,t,n)=>p(this,void 0,void 0,(function*(){if(!this.viemClient)throw new Error("WalletClient not connected.");const i=yield this.uploadFile(e,n);if(!i||!i.key)throw new Error("Failed to upload file or get upload info.");const a=BigInt(Math.floor(Date.now())+600),r=yield this.registerIpNFT("file",a,t,i.key),{tokenId:s,signerAddress:o,creatorContentHash:d,signature:u,uri:l}=r;// 10 minutes from now
233
+ if(!(s&&o&&d&&void 0!==u&&l))throw new Error("Failed to register IpNFT: Missing required fields in registration response.");const[p]=yield this.viemClient.request({method:"eth_requestAccounts",params:[]}),c=yield this.mintWithSignature(p,s,d,l,t,a,u);if("0x1"!==c.status)throw new Error(`Minting failed with status: ${c.status}`);return s.toString()})),this.mintSocial=(e,t)=>p(this,void 0,void 0,(function*(){
234
+ // try {
235
+ const n=BigInt(Math.floor(Date.now())+600),i=yield this.registerIpNFT(e,n,t);// 10 minutes from now (temp)
236
+ if(!i)
237
+ // console.error("Failed to register IpNFT");
238
+ // return null;
239
+ throw new Error("Failed to register Social IpNFT");return i.tokenId.toString();
240
+ // } catch (error) {
241
+ // console.error("Failed to mint social IpNFT:", error);
242
+ // return null;
243
+ // }
244
+ })),this.getOriginUploads=()=>p(this,void 0,void 0,(function*(){const e=yield fetch(`${E}/auth/origin/files`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`}});if(!e.ok)return console.error("Failed to get origin uploads"),null;return(yield e.json()).data})),this.jwt=t,this.viemClient=n,
235
245
  // DataNFT methods
236
- this.mintWithSignature=P.bind(this),this.registerDataNFT=U.bind(this),this.updateTerms=N.bind(this),this.requestDelete=O.bind(this),this.getTerms=B.bind(this),this.ownerOf=_.bind(this),this.balanceOf=W.bind(this),this.contentHash=R.bind(this),this.tokenURI=q.bind(this),this.dataStatus=z.bind(this),this.royaltyInfo=L.bind(this),this.getApproved=K.bind(this),this.isApprovedForAll=J.bind(this),this.transferFrom=H.bind(this),this.safeTransferFrom=G.bind(this),this.approve=V.bind(this),this.setApprovalForAll=Z.bind(this),
246
+ this.mintWithSignature=P.bind(this),this.registerIpNFT=U.bind(this),this.updateTerms=N.bind(this),this.requestDelete=B.bind(this),this.getTerms=D.bind(this),this.ownerOf=_.bind(this),this.balanceOf=W.bind(this),this.contentHash=R.bind(this),this.tokenURI=q.bind(this),this.dataStatus=z.bind(this),this.royaltyInfo=L.bind(this),this.getApproved=K.bind(this),this.isApprovedForAll=J.bind(this),this.transferFrom=H.bind(this),this.safeTransferFrom=G.bind(this),this.approve=V.bind(this),this.setApprovalForAll=Z.bind(this),
237
247
  // Marketplace methods
238
- this.buyAccess=yt.bind(this),this.renewAccess=ht.bind(this),this.hasAccess=mt.bind(this),this.subscriptionExpiry=ft.bind(this)}getJwt(){return this.jwt}setViemClient(t){this.viemClient=t}
248
+ this.buyAccess=ye.bind(this),this.renewAccess=he.bind(this),this.hasAccess=me.bind(this),this.subscriptionExpiry=fe.bind(this)}getJwt(){return this.jwt}setViemClient(e){this.viemClient=e}
239
249
  /**
240
250
  * Get the user's Origin stats (multiplier, consent, usage, etc.).
241
251
  * @returns {Promise<OriginUsageReturnType>} A promise that resolves with the user's Origin stats.
242
- */getOriginUsage(){return p(this,void 0,void 0,(function*(){const t=yield fetch(`${M}/auth/origin/usage`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`,
252
+ */getOriginUsage(){return p(this,void 0,void 0,(function*(){const e=yield fetch(`${E}/auth/origin/usage`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`,
243
253
  // "x-client-id": this.clientId,
244
- "Content-Type":"application/json"}}).then((t=>t.json()));if(!t.isError&&t.data.user)return t;throw new h(t.message||"Failed to fetch Origin usage")}))}
254
+ "Content-Type":"application/json"}}).then((e=>e.json()));if(!e.isError&&e.data.user)return e;throw new h(e.message||"Failed to fetch Origin usage")}))}
245
255
  /**
246
256
  * Set the user's consent for Origin usage.
247
257
  * @param {boolean} consent The user's consent.
248
258
  * @returns {Promise<void>}
249
259
  * @throws {Error|APIError} - Throws an error if the user is not authenticated. Also throws an error if the consent is not provided.
250
- */setOriginConsent(t){return p(this,void 0,void 0,(function*(){if(void 0===t)throw new h("Consent is required");const e=yield fetch(`${M}/auth/origin/status`,{method:"PATCH",headers:{Authorization:`Bearer ${this.jwt}`,
260
+ */setOriginConsent(e){return p(this,void 0,void 0,(function*(){if(void 0===e)throw new h("Consent is required");const t=yield fetch(`${E}/auth/origin/status`,{method:"PATCH",headers:{Authorization:`Bearer ${this.jwt}`,
251
261
  // "x-client-id": this.clientId,
252
- "Content-Type":"application/json"},body:JSON.stringify({active:t})}).then((t=>t.json()));if(e.isError)throw new h(e.message||"Failed to set Origin consent")}))}
262
+ "Content-Type":"application/json"},body:JSON.stringify({active:e})}).then((e=>e.json()));if(t.isError)throw new h(t.message||"Failed to set Origin consent")}))}
253
263
  /**
254
264
  * Set the user's Origin multiplier.
255
265
  * @param {number} multiplier The user's Origin multiplier.
256
266
  * @returns {Promise<void>}
257
267
  * @throws {Error|APIError} - Throws an error if the user is not authenticated. Also throws an error if the multiplier is not provided.
258
- */setOriginMultiplier(t){return p(this,void 0,void 0,(function*(){if(void 0===t)throw new h("Multiplier is required");const e=yield fetch(`${M}/auth/origin/multiplier`,{method:"PATCH",headers:{Authorization:`Bearer ${this.jwt}`,
268
+ */setOriginMultiplier(e){return p(this,void 0,void 0,(function*(){if(void 0===e)throw new h("Multiplier is required");const t=yield fetch(`${E}/auth/origin/multiplier`,{method:"PATCH",headers:{Authorization:`Bearer ${this.jwt}`,
259
269
  // "x-client-id": this.clientId,
260
- "Content-Type":"application/json"},body:JSON.stringify({multiplier:t})}).then((t=>t.json()));if(e.isError)throw new h(e.message||"Failed to set Origin multiplier")}))}
270
+ "Content-Type":"application/json"},body:JSON.stringify({multiplier:e})}).then((e=>e.json()));if(t.isError)throw new h(t.message||"Failed to set Origin multiplier")}))}
261
271
  /**
262
272
  * Call a contract method.
263
273
  * @param {string} contractAddress The contract address.
@@ -267,23 +277,23 @@ this.buyAccess=yt.bind(this),this.renewAccess=ht.bind(this),this.hasAccess=mt.bi
267
277
  * @param {CallOptions} [options] The call options.
268
278
  * @returns {Promise<any>} A promise that resolves with the result of the contract call or transaction hash.
269
279
  * @throws {Error} - Throws an error if the wallet client is not connected and the method is not a view function.
270
- */callContractMethod(t,e,n,i){return p(this,arguments,void 0,(function*(t,e,n,i,a={}){const r=s({abi:e,name:n}),d=r&&"stateMutability"in r&&("view"===r.stateMutability||"pure"===r.stateMutability);if(!d&&!this.viemClient)throw new Error("WalletClient not connected.");if(d){const a=A();return(yield a.readContract({address:t,abi:e,functionName:n,args:i}))||null}{const[r]=yield this.viemClient.request({method:"eth_requestAccounts",params:[]}),s=o({abi:e,functionName:n,args:i});yield c(this,Q,"m",et).call(this,g);const d=yield this.viemClient.sendTransaction({to:t,data:s,account:r,value:a.value,gas:a.gas});if("string"!=typeof d)throw new Error("Transaction failed to send.");if(!a.waitForReceipt)return d;return yield c(this,Q,"m",tt).call(this,d)}}))}
280
+ */callContractMethod(e,t,n,i){return p(this,arguments,void 0,(function*(e,t,n,i,a={}){const r=s({abi:t,name:n}),d=r&&"stateMutability"in r&&("view"===r.stateMutability||"pure"===r.stateMutability);if(!d&&!this.viemClient)throw new Error("WalletClient not connected.");if(d){const a=A();return(yield a.readContract({address:e,abi:t,functionName:n,args:i}))||null}{const[r]=yield this.viemClient.request({method:"eth_requestAccounts",params:[]}),s=o({abi:t,functionName:n,args:i});yield c(this,Y,"m",te).call(this,g);try{const t=yield this.viemClient.sendTransaction({to:e,data:s,account:r,value:a.value,gas:a.gas});if("string"!=typeof t)throw new Error("Transaction failed to send.");if(!a.waitForReceipt)return t;return yield c(this,Y,"m",ee).call(this,t)}catch(e){throw console.error("Transaction failed:",e),new Error("Transaction failed: "+e)}}}))}
271
281
  /**
272
282
  * Buy access to an asset by first checking its price via getTerms, then calling buyAccess.
273
283
  * @param {bigint} tokenId The token ID of the asset.
274
284
  * @param {number} periods The number of periods to buy access for.
275
285
  * @returns {Promise<any>} The result of the buyAccess call.
276
- */buyAccessSmart(t,e){return p(this,void 0,void 0,(function*(){if(!this.viemClient)throw new Error("WalletClient not connected.");const n=yield this.getTerms(t);if(!n)throw new Error("Failed to fetch terms for asset");const{price:i,paymentToken:a}=n;if(void 0===i||void 0===a)throw new Error("Terms missing price or paymentToken");const s=i*BigInt(e);if(a===d)return this.buyAccess(t,e,s);const o=yield this.viemClient.getAddress();return yield function(t){return p(this,arguments,void 0,(function*({walletClient:t,publicClient:e,tokenAddress:n,owner:i,spender:a,amount:s}){(yield e.readContract({address:n,abi:r,functionName:"allowance",args:[i,a]}))<s&&(yield t.writeContract({address:n,account:i,abi:r,functionName:"approve",args:[a,s],chain:g}))}))}({walletClient:this.viemClient,publicClient:A(),tokenAddress:a,owner:o,spender:S,amount:s}),this.buyAccess(t,e)}))}getData(t){return p(this,void 0,void 0,(function*(){const e=yield fetch(`${M}/auth/origin/data/${t}`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`,"Content-Type":"application/json"}});if(!e.ok)throw new Error("Failed to fetch data");return e.json()}))}}Y=new WeakMap,X=new WeakMap,Q=new WeakSet,tt=function(t){return p(this,void 0,void 0,(function*(){if(!this.viemClient)throw new Error("WalletClient not connected.");for(;;){const e=yield this.viemClient.request({method:"eth_getTransactionReceipt",params:[t]});if(e&&e.blockNumber)return e;yield new Promise((t=>setTimeout(t,1e3)))}}))},et=function(t){return p(this,void 0,void 0,(function*(){
286
+ */buyAccessSmart(e,t){return p(this,void 0,void 0,(function*(){if(!this.viemClient)throw new Error("WalletClient not connected.");const n=yield this.getTerms(e);if(!n)throw new Error("Failed to fetch terms for asset");const{price:i,paymentToken:a}=n;if(void 0===i||void 0===a)throw new Error("Terms missing price or paymentToken");const s=i*BigInt(t);if(a===d)return this.buyAccess(e,t,s);const o=yield this.viemClient.getAddress();return yield function(e){return p(this,arguments,void 0,(function*({walletClient:e,publicClient:t,tokenAddress:n,owner:i,spender:a,amount:s}){(yield t.readContract({address:n,abi:r,functionName:"allowance",args:[i,a]}))<s&&(yield e.writeContract({address:n,account:i,abi:r,functionName:"approve",args:[a,s],chain:g}))}))}({walletClient:this.viemClient,publicClient:A(),tokenAddress:a,owner:o,spender:S,amount:s}),this.buyAccess(e,t)}))}getData(e){return p(this,void 0,void 0,(function*(){const t=yield fetch(`${E}/auth/origin/data/${e}`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`,"Content-Type":"application/json"}});if(!t.ok)throw new Error("Failed to fetch data");return t.json()}))}}Q=new WeakMap,X=new WeakMap,Y=new WeakSet,ee=function(e){return p(this,void 0,void 0,(function*(){if(!this.viemClient)throw new Error("WalletClient not connected.");for(;;){const t=yield this.viemClient.request({method:"eth_getTransactionReceipt",params:[e]});if(t&&t.blockNumber)return t;yield new Promise((e=>setTimeout(e,1e3)))}}))},te=function(e){return p(this,void 0,void 0,(function*(){
277
287
  // return;
278
- if(!this.viemClient)throw new Error("WalletClient not connected.");let e=yield this.viemClient.request({method:"eth_chainId",params:[]});if("string"==typeof e&&(e=parseInt(e,16)),e!==t.id)try{yield this.viemClient.request({method:"wallet_switchEthereumChain",params:[{chainId:"0x"+BigInt(t.id).toString(16)}]})}catch(e){
288
+ if(!this.viemClient)throw new Error("WalletClient not connected.");let t=yield this.viemClient.request({method:"eth_chainId",params:[]});if("string"==typeof t&&(t=parseInt(t,16)),t!==e.id)try{yield this.viemClient.request({method:"wallet_switchEthereumChain",params:[{chainId:"0x"+BigInt(e.id).toString(16)}]})}catch(t){
279
289
  // Unrecognized chain
280
- if(4902!==e.code)throw e;yield this.viemClient.request({method:"wallet_addEthereumChain",params:[{chainId:"0x"+BigInt(t.id).toString(16),chainName:t.name,rpcUrls:t.rpcUrls.default.http,nativeCurrency:t.nativeCurrency}]}),yield this.viemClient.request({method:"wallet_switchEthereumChain",params:[{chainId:"0x"+BigInt(t.id).toString(16)}]})}}))};
290
+ if(4902!==t.code)throw t;yield this.viemClient.request({method:"wallet_addEthereumChain",params:[{chainId:"0x"+BigInt(e.id).toString(16),chainName:e.name,rpcUrls:e.rpcUrls.default.http,nativeCurrency:e.nativeCurrency}]}),yield this.viemClient.request({method:"wallet_switchEthereumChain",params:[{chainId:"0x"+BigInt(e.id).toString(16)}]})}}))};
281
291
  /**
282
292
  * The Auth class.
283
293
  * @class
284
294
  * @classdesc The Auth class is used to authenticate the user.
285
295
  */
286
- class vt{
296
+ class ve{
287
297
  /**
288
298
  * Constructor for the Auth class.
289
299
  * @param {object} options The options object.
@@ -293,11 +303,11 @@ class vt{
293
303
  * @param {object} [options.ackeeInstance] The Ackee instance.
294
304
  * @throws {APIError} - Throws an error if the clientId is not provided.
295
305
  */
296
- constructor({clientId:t,redirectUri:e,allowAnalytics:n=!0,ackeeInstance:i}){if(nt.add(this),it.set(this,void 0),at.set(this,void 0),!t)throw new Error("clientId is required");this.viem=null,
306
+ constructor({clientId:e,redirectUri:t,allowAnalytics:n=!0,ackeeInstance:i}){if(ne.add(this),ie.set(this,void 0),ae.set(this,void 0),!e)throw new Error("clientId is required");this.viem=null,
297
307
  // if (typeof window !== "undefined") {
298
308
  // if (window.ethereum) this.viem = getClient(window.ethereum);
299
309
  // }
300
- this.redirectUri=(t=>{const e=["twitter","discord","spotify"];return"object"==typeof t?e.reduce(((e,n)=>(e[n]=t[n]||("undefined"!=typeof window?window.location.href:""),e)),{}):"string"==typeof t?e.reduce(((e,n)=>(e[n]=t,e)),{}):t?{}:e.reduce(((t,e)=>(t[e]="undefined"!=typeof window?window.location.href:"",t)),{})})(e),i&&y(this,at,i,"f"),n&&c(this,at,"f"),this.clientId=t,this.isAuthenticated=!1,this.jwt=null,this.origin=null,this.walletAddress=null,this.userId=null,y(this,it,{},"f"),F((t=>{c(this,nt,"m",rt).call(this,"providers",t)})),c(this,nt,"m",st).call(this)}
310
+ this.redirectUri=(e=>{const t=["twitter","discord","spotify"];return"object"==typeof e?t.reduce(((t,n)=>(t[n]=e[n]||("undefined"!=typeof window?window.location.href:""),t)),{}):"string"==typeof e?t.reduce(((t,n)=>(t[n]=e,t)),{}):e?{}:t.reduce(((e,t)=>(e[t]="undefined"!=typeof window?window.location.href:"",e)),{})})(t),i&&y(this,ae,i,"f"),n&&c(this,ae,"f"),this.clientId=e,this.isAuthenticated=!1,this.jwt=null,this.origin=null,this.walletAddress=null,this.userId=null,y(this,ie,{},"f"),F((e=>{c(this,ne,"m",re).call(this,"providers",e)})),c(this,ne,"m",se).call(this)}
301
311
  /**
302
312
  * Subscribe to an event. Possible events are "state", "provider", "providers", and "viem".
303
313
  * @param {("state"|"provider"|"providers"|"viem")} event The event.
@@ -307,34 +317,34 @@ this.redirectUri=(t=>{const e=["twitter","discord","spotify"];return"object"==ty
307
317
  * auth.on("state", (state) => {
308
318
  * console.log(state);
309
319
  * });
310
- */on(t,e){c(this,it,"f")[t]||(c(this,it,"f")[t]=[]),c(this,it,"f")[t].push(e),"providers"===t&&e(D())}
320
+ */on(e,t){c(this,ie,"f")[e]||(c(this,ie,"f")[e]=[]),c(this,ie,"f")[e].push(t),"providers"===e&&t($())}
311
321
  /**
312
322
  * Set the loading state.
313
323
  * @param {boolean} loading The loading state.
314
324
  * @returns {void}
315
- */setLoading(t){c(this,nt,"m",rt).call(this,"state",t?"loading":this.isAuthenticated?"authenticated":"unauthenticated")}
325
+ */setLoading(e){c(this,ne,"m",re).call(this,"state",e?"loading":this.isAuthenticated?"authenticated":"unauthenticated")}
316
326
  /**
317
327
  * Set the provider. This is useful for setting the provider when the user selects a provider from the UI or when dApp wishes to use a specific provider.
318
328
  * @param {object} options The options object. Includes the provider and the provider info.
319
329
  * @returns {void}
320
330
  * @throws {APIError} - Throws an error if the provider is not provided.
321
- */setProvider({provider:t,info:i,address:a}){if(!t)throw new h("provider is required");this.viem=((t,i="window.ethereum",a)=>{var r;if(!t&&!I)return console.warn("Provider is required to create a client."),null;if(!I||I.transport.name!==i&&t||a!==(null===(r=I.account)||void 0===r?void 0:r.address)&&t){const r={chain:g,transport:e(t,{name:i})};a&&(r.account=u(a)),I=n(r)}return I})(t,i.name,a),this.origin&&this.origin.setViemClient(this.viem),
331
+ */setProvider({provider:e,info:i,address:a}){if(!e)throw new h("provider is required");this.viem=((e,i="window.ethereum",a)=>{var r;if(!e&&!I)return console.warn("Provider is required to create a client."),null;if(!I||I.transport.name!==i&&e||a!==(null===(r=I.account)||void 0===r?void 0:r.address)&&e){const r={chain:g,transport:t(e,{name:i})};a&&(r.account=u(a)),I=n(r)}return I})(e,i.name,a),this.origin&&this.origin.setViemClient(this.viem),
322
332
  // TODO: only use one of these
323
- c(this,nt,"m",rt).call(this,"viem",this.viem),c(this,nt,"m",rt).call(this,"provider",{provider:t,info:i})}
333
+ c(this,ne,"m",re).call(this,"viem",this.viem),c(this,ne,"m",re).call(this,"provider",{provider:e,info:i})}
324
334
  /**
325
335
  * Set the wallet address. This is useful for edge cases where the provider can't return the wallet address. Don't use this unless you know what you're doing.
326
336
  * @param {string} walletAddress The wallet address.
327
337
  * @returns {void}
328
- */setWalletAddress(t){this.walletAddress=t}recoverProvider(){return p(this,void 0,void 0,(function*(){var t,e,n;if(!this.walletAddress)return void console.warn("No wallet address found in local storage. Please connect your wallet again.");let i;const a=null!==(t=D())&&void 0!==t?t:[];for(const t of a)try{if((null===(e=(yield t.provider.request({method:"eth_requestAccounts"}))[0])||void 0===e?void 0:e.toLowerCase())===(null===(n=this.walletAddress)||void 0===n?void 0:n.toLowerCase())){i=t;break}}catch(t){console.warn("Failed to fetch accounts from provider:",t)}i?this.setProvider({provider:i.provider,info:i.info||{name:"Unknown"},address:this.walletAddress}):console.warn("No matching provider found for the stored wallet address. Please connect your wallet again.")}))}
338
+ */setWalletAddress(e){this.walletAddress=e}recoverProvider(){return p(this,void 0,void 0,(function*(){var e,t,n;if(!this.walletAddress)return void console.warn("No wallet address found in local storage. Please connect your wallet again.");let i;const a=null!==(e=$())&&void 0!==e?e:[];for(const e of a)try{if((null===(t=(yield e.provider.request({method:"eth_requestAccounts"}))[0])||void 0===t?void 0:t.toLowerCase())===(null===(n=this.walletAddress)||void 0===n?void 0:n.toLowerCase())){i=e;break}}catch(e){console.warn("Failed to fetch accounts from provider:",e)}i?this.setProvider({provider:i.provider,info:i.info||{name:"Unknown"},address:this.walletAddress}):console.warn("No matching provider found for the stored wallet address. Please connect your wallet again.")}))}
329
339
  /**
330
340
  * Disconnect the user.
331
341
  * @returns {Promise<void>}
332
- */disconnect(){return p(this,void 0,void 0,(function*(){this.isAuthenticated&&(c(this,nt,"m",rt).call(this,"state","unauthenticated"),this.isAuthenticated=!1,this.walletAddress=null,this.userId=null,this.jwt=null,this.origin=null,localStorage.removeItem("camp-sdk:wallet-address"),localStorage.removeItem("camp-sdk:user-id"),localStorage.removeItem("camp-sdk:jwt"))}))}
342
+ */disconnect(){return p(this,void 0,void 0,(function*(){this.isAuthenticated&&(c(this,ne,"m",re).call(this,"state","unauthenticated"),this.isAuthenticated=!1,this.walletAddress=null,this.userId=null,this.jwt=null,this.origin=null,localStorage.removeItem("camp-sdk:wallet-address"),localStorage.removeItem("camp-sdk:user-id"),localStorage.removeItem("camp-sdk:jwt"))}))}
333
343
  /**
334
344
  * Connect the user's wallet and sign the message.
335
345
  * @returns {Promise<{ success: boolean; message: string; walletAddress: string }>} A promise that resolves with the authentication result.
336
346
  * @throws {APIError} - Throws an error if the user cannot be authenticated.
337
- */connect(){return p(this,void 0,void 0,(function*(){c(this,nt,"m",rt).call(this,"state","loading");try{this.walletAddress||(yield c(this,nt,"m",ot).call(this));const t=yield c(this,nt,"m",dt).call(this),e=c(this,nt,"m",lt).call(this,t),n=yield this.viem.signMessage({account:this.walletAddress,message:e}),i=yield c(this,nt,"m",ut).call(this,e,n);if(i.success)return this.isAuthenticated=!0,this.userId=i.userId,this.jwt=i.token,this.origin=new wt(this.jwt,this.viem),localStorage.setItem("camp-sdk:jwt",this.jwt),localStorage.setItem("camp-sdk:wallet-address",this.walletAddress),localStorage.setItem("camp-sdk:user-id",this.userId),c(this,nt,"m",rt).call(this,"state","authenticated"),yield c(this,nt,"m",pt).call(this,E.USER_CONNECTED,"User Connected"),{success:!0,message:"Successfully authenticated",walletAddress:this.walletAddress};throw this.isAuthenticated=!1,c(this,nt,"m",rt).call(this,"state","unauthenticated"),new h("Failed to authenticate")}catch(t){throw this.isAuthenticated=!1,c(this,nt,"m",rt).call(this,"state","unauthenticated"),new h(t)}}))}
347
+ */connect(){return p(this,void 0,void 0,(function*(){c(this,ne,"m",re).call(this,"state","loading");try{this.walletAddress||(yield c(this,ne,"m",oe).call(this));const e=yield c(this,ne,"m",de).call(this),t=c(this,ne,"m",le).call(this,e),n=yield this.viem.signMessage({account:this.walletAddress,message:t}),i=yield c(this,ne,"m",ue).call(this,t,n);if(i.success)return this.isAuthenticated=!0,this.userId=i.userId,this.jwt=i.token,this.origin=new we(this.jwt,this.viem),localStorage.setItem("camp-sdk:jwt",this.jwt),localStorage.setItem("camp-sdk:wallet-address",this.walletAddress),localStorage.setItem("camp-sdk:user-id",this.userId),c(this,ne,"m",re).call(this,"state","authenticated"),yield c(this,ne,"m",pe).call(this,x.USER_CONNECTED,"User Connected"),{success:!0,message:"Successfully authenticated",walletAddress:this.walletAddress};throw this.isAuthenticated=!1,c(this,ne,"m",re).call(this,"state","unauthenticated"),new h("Failed to authenticate")}catch(e){throw this.isAuthenticated=!1,c(this,ne,"m",re).call(this,"state","unauthenticated"),new h(e)}}))}
338
348
  /**
339
349
  * Get the user's linked social accounts.
340
350
  * @returns {Promise<Record<string, boolean>>} A promise that resolves with the user's linked social accounts.
@@ -343,7 +353,7 @@ c(this,nt,"m",rt).call(this,"viem",this.viem),c(this,nt,"m",rt).call(this,"provi
343
353
  * const auth = new Auth({ clientId: "your-client-id" });
344
354
  * const socials = await auth.getLinkedSocials();
345
355
  * console.log(socials);
346
- */getLinkedSocials(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");const t=yield fetch(`${M}/auth/client-user/connections-sdk`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"}}).then((t=>t.json()));if(t.isError)throw new h(t.message||"Failed to fetch connections");{const e={};return Object.keys(t.data.data).forEach((n=>{e[n.split("User")[0]]=t.data.data[n]})),e}}))}
356
+ */getLinkedSocials(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");const e=yield fetch(`${E}/auth/client-user/connections-sdk`,{method:"GET",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"}}).then((e=>e.json()));if(e.isError)throw new h(e.message||"Failed to fetch connections");{const t={};return Object.keys(e.data.data).forEach((n=>{t[n.split("User")[0]]=e.data.data[n]})),t}}))}
347
357
  /**
348
358
  * Link the user's Twitter account.
349
359
  * @returns {Promise<void>}
@@ -353,7 +363,7 @@ c(this,nt,"m",rt).call(this,"viem",this.viem),c(this,nt,"m",rt).call(this,"provi
353
363
  // constants.ACKEE_EVENTS.TWITTER_LINKED,
354
364
  // "Twitter Linked"
355
365
  // );
356
- window.location.href=`${M}/twitter/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri.twitter}`}))}
366
+ window.location.href=`${E}/twitter/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri.twitter}`}))}
357
367
  /**
358
368
  * Link the user's Discord account.
359
369
  * @returns {Promise<void>}
@@ -363,7 +373,7 @@ window.location.href=`${M}/twitter/connect?clientId=${this.clientId}&userId=${th
363
373
  // constants.ACKEE_EVENTS.DISCORD_LINKED,
364
374
  // "Discord Linked"
365
375
  // );
366
- window.location.href=`${M}/discord/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri.discord}`}))}
376
+ window.location.href=`${E}/discord/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri.discord}`}))}
367
377
  /**
368
378
  * Link the user's Spotify account.
369
379
  * @returns {Promise<void>}
@@ -373,19 +383,19 @@ window.location.href=`${M}/discord/connect?clientId=${this.clientId}&userId=${th
373
383
  // constants.ACKEE_EVENTS.SPOTIFY_LINKED,
374
384
  // "Spotify Linked"
375
385
  // );
376
- window.location.href=`${M}/spotify/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri.spotify}`}))}
386
+ window.location.href=`${E}/spotify/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri.spotify}`}))}
377
387
  /**
378
388
  * Link the user's TikTok account.
379
389
  * @param {string} handle The user's TikTok handle.
380
390
  * @returns {Promise<any>} A promise that resolves with the TikTok account data.
381
391
  * @throws {Error|APIError} - Throws an error if the user is not authenticated.
382
- */linkTikTok(t){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");const e=yield fetch(`${M}/tiktok/connect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({userHandle:t,clientId:this.clientId,userId:this.userId})}).then((t=>t.json()));if(e.isError)throw"Request failed with status code 502"===e.message?new h("TikTok service is currently unavailable, try again later"):new h(e.message||"Failed to link TikTok account");return c(this,nt,"m",pt).call(this,E.TIKTOK_LINKED,"TikTok Linked"),e.data}))}
392
+ */linkTikTok(e){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");const t=yield fetch(`${E}/tiktok/connect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({userHandle:e,clientId:this.clientId,userId:this.userId})}).then((e=>e.json()));if(t.isError)throw"Request failed with status code 502"===t.message?new h("TikTok service is currently unavailable, try again later"):new h(t.message||"Failed to link TikTok account");return c(this,ne,"m",pe).call(this,x.TIKTOK_LINKED,"TikTok Linked"),t.data}))}
383
393
  /**
384
394
  * Send an OTP to the user's Telegram account.
385
395
  * @param {string} phoneNumber The user's phone number.
386
396
  * @returns {Promise<any>} A promise that resolves with the OTP data.
387
397
  * @throws {Error|APIError} - Throws an error if the user is not authenticated.
388
- */sendTelegramOTP(t){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");if(!t)throw new h("Phone number is required");yield this.unlinkTelegram();const e=yield fetch(`${M}/telegram/sendOTP-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({phone:t})}).then((t=>t.json()));if(e.isError)throw new h(e.message||"Failed to send Telegram OTP");return e.data}))}
398
+ */sendTelegramOTP(e){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");if(!e)throw new h("Phone number is required");yield this.unlinkTelegram();const t=yield fetch(`${E}/telegram/sendOTP-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({phone:e})}).then((e=>e.json()));if(t.isError)throw new h(t.message||"Failed to send Telegram OTP");return t.data}))}
389
399
  /**
390
400
  * Link the user's Telegram account.
391
401
  * @param {string} phoneNumber The user's phone number.
@@ -393,37 +403,37 @@ window.location.href=`${M}/spotify/connect?clientId=${this.clientId}&userId=${th
393
403
  * @param {string} phoneCodeHash The phone code hash.
394
404
  * @returns {Promise<object>} A promise that resolves with the Telegram account data.
395
405
  * @throws {APIError|Error} - Throws an error if the user is not authenticated. Also throws an error if the phone number, OTP, and phone code hash are not provided.
396
- */linkTelegram(t,e,n){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");if(!t||!e||!n)throw new h("Phone number, OTP, and phone code hash are required");const i=yield fetch(`${M}/telegram/signIn-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({phone:t,code:e,phone_code_hash:n,userId:this.userId,clientId:this.clientId})}).then((t=>t.json()));if(i.isError)throw new h(i.message||"Failed to link Telegram account");return c(this,nt,"m",pt).call(this,E.TELEGRAM_LINKED,"Telegram Linked"),i.data}))}
406
+ */linkTelegram(e,t,n){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");if(!e||!t||!n)throw new h("Phone number, OTP, and phone code hash are required");const i=yield fetch(`${E}/telegram/signIn-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({phone:e,code:t,phone_code_hash:n,userId:this.userId,clientId:this.clientId})}).then((e=>e.json()));if(i.isError)throw new h(i.message||"Failed to link Telegram account");return c(this,ne,"m",pe).call(this,x.TELEGRAM_LINKED,"Telegram Linked"),i.data}))}
397
407
  /**
398
408
  * Unlink the user's Twitter account.
399
409
  * @returns {Promise<any>} A promise that resolves with the unlink result.
400
410
  * @throws {Error} - Throws an error if the user is not authenticated.
401
411
  * @throws {APIError} - Throws an error if the request fails.
402
- */unlinkTwitter(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");const t=yield fetch(`${M}/twitter/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({id:this.userId})}).then((t=>t.json()));if(t.isError)throw new h(t.message||"Failed to unlink Twitter account");return t.data}))}
412
+ */unlinkTwitter(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new Error("User needs to be authenticated");const e=yield fetch(`${E}/twitter/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({id:this.userId})}).then((e=>e.json()));if(e.isError)throw new h(e.message||"Failed to unlink Twitter account");return e.data}))}
403
413
  /**
404
414
  * Unlink the user's Discord account.
405
415
  * @returns {Promise<any>} A promise that resolves with the unlink result.
406
416
  * @throws {Error} - Throws an error if the user is not authenticated.
407
417
  * @throws {APIError} - Throws an error if the request fails.
408
- */unlinkDiscord(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const t=yield fetch(`${M}/discord/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({id:this.userId})}).then((t=>t.json()));if(t.isError)throw new h(t.message||"Failed to unlink Discord account");return t.data}))}
418
+ */unlinkDiscord(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const e=yield fetch(`${E}/discord/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({id:this.userId})}).then((e=>e.json()));if(e.isError)throw new h(e.message||"Failed to unlink Discord account");return e.data}))}
409
419
  /**
410
420
  * Unlink the user's Spotify account.
411
421
  * @returns {Promise<any>} A promise that resolves with the unlink result.
412
422
  * @throws {Error} - Throws an error if the user is not authenticated.
413
423
  * @throws {APIError} - Throws an error if the request fails.
414
- */unlinkSpotify(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const t=yield fetch(`${M}/spotify/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({id:this.userId})}).then((t=>t.json()));if(t.isError)throw new h(t.message||"Failed to unlink Spotify account");return t.data}))}
424
+ */unlinkSpotify(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const e=yield fetch(`${E}/spotify/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({id:this.userId})}).then((e=>e.json()));if(e.isError)throw new h(e.message||"Failed to unlink Spotify account");return e.data}))}
415
425
  /**
416
426
  * Unlink the user's TikTok account.
417
427
  * @returns {Promise<any>} A promise that resolves with the unlink result.
418
428
  * @throws {Error} - Throws an error if the user is not authenticated.
419
429
  * @throws {APIError} - Throws an error if the request fails.
420
- */unlinkTikTok(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const t=yield fetch(`${M}/tiktok/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({userId:this.userId})}).then((t=>t.json()));if(t.isError)throw new h(t.message||"Failed to unlink TikTok account");return t.data}))}
430
+ */unlinkTikTok(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const e=yield fetch(`${E}/tiktok/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({userId:this.userId})}).then((e=>e.json()));if(e.isError)throw new h(e.message||"Failed to unlink TikTok account");return e.data}))}
421
431
  /**
422
432
  * Unlink the user's Telegram account.
423
433
  * @returns {Promise<any>} A promise that resolves with the unlink result.
424
434
  * @throws {Error} - Throws an error if the user is not authenticated.
425
435
  * @throws {APIError} - Throws an error if the request fails.
426
- */unlinkTelegram(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const t=yield fetch(`${M}/telegram/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({userId:this.userId})}).then((t=>t.json()));if(t.isError)throw new h(t.message||"Failed to unlink Telegram account");return t.data}))}}it=new WeakMap,at=new WeakMap,nt=new WeakSet,rt=function(t,e){c(this,it,"f")[t]&&c(this,it,"f")[t].forEach((t=>t(e)))},st=function(t){return p(this,void 0,void 0,(function*(){if("undefined"==typeof localStorage)return;const e=null===localStorage||void 0===localStorage?void 0:localStorage.getItem("camp-sdk:wallet-address"),n=null===localStorage||void 0===localStorage?void 0:localStorage.getItem("camp-sdk:user-id"),i=null===localStorage||void 0===localStorage?void 0:localStorage.getItem("camp-sdk:jwt");e&&n&&i?(this.walletAddress=e,this.userId=n,this.jwt=i,this.origin=new wt(this.jwt),this.isAuthenticated=!0,
436
+ */unlinkTelegram(){return p(this,void 0,void 0,(function*(){if(!this.isAuthenticated)throw new h("User needs to be authenticated");const e=yield fetch(`${E}/telegram/disconnect-sdk`,{method:"POST",redirect:"follow",headers:{Authorization:`Bearer ${this.jwt}`,"x-client-id":this.clientId,"Content-Type":"application/json"},body:JSON.stringify({userId:this.userId})}).then((e=>e.json()));if(e.isError)throw new h(e.message||"Failed to unlink Telegram account");return e.data}))}}ie=new WeakMap,ae=new WeakMap,ne=new WeakSet,re=function(e,t){c(this,ie,"f")[e]&&c(this,ie,"f")[e].forEach((e=>e(t)))},se=function(e){return p(this,void 0,void 0,(function*(){if("undefined"==typeof localStorage)return;const t=null===localStorage||void 0===localStorage?void 0:localStorage.getItem("camp-sdk:wallet-address"),n=null===localStorage||void 0===localStorage?void 0:localStorage.getItem("camp-sdk:user-id"),i=null===localStorage||void 0===localStorage?void 0:localStorage.getItem("camp-sdk:jwt");t&&n&&i?(this.walletAddress=t,this.userId=n,this.jwt=i,this.origin=new we(this.jwt),this.isAuthenticated=!0,
427
437
  /*
428
438
  let selectedProvider = provider;
429
439
 
@@ -444,8 +454,8 @@ window.location.href=`${M}/spotify/connect?clientId=${this.clientId}&userId=${th
444
454
  }
445
455
  }
446
456
  */
447
- t?this.setProvider({provider:t.provider,info:t.info||{name:"Unknown"},address:e}):(console.warn("No matching provider was given for the stored wallet address. Trying to recover provider."),yield this.recoverProvider())):this.isAuthenticated=!1}))},ot=function(){return p(this,void 0,void 0,(function*(){try{const[t]=yield this.viem.requestAddresses();return this.walletAddress=t,t}catch(t){throw new h(t)}}))},dt=function(){return p(this,void 0,void 0,(function*(){try{const t=yield fetch(`${M}/auth/client-user/nonce`,{method:"POST",headers:{"Content-Type":"application/json","x-client-id":this.clientId},body:JSON.stringify({walletAddress:this.walletAddress})}),e=yield t.json();return 200!==t.status?Promise.reject(e.message||"Failed to fetch nonce"):e.data}catch(t){throw new Error(t)}}))},ut=function(t,e){return p(this,void 0,void 0,(function*(){try{const n=yield fetch(`${M}/auth/client-user/verify`,{method:"POST",headers:{"Content-Type":"application/json","x-client-id":this.clientId},body:JSON.stringify({message:t,signature:e,walletAddress:this.walletAddress})}),i=yield n.json(),a=i.data.split(".")[1],r=JSON.parse(atob(a));return{success:!i.isError,userId:r.id,token:i.data}}catch(t){throw new h(t)}}))},lt=function(t){return l({domain:window.location.host,address:this.walletAddress,statement:C,uri:window.location.origin,version:"1",chainId:this.viem.chain.id,nonce:t})},pt=function(t,e){return p(this,arguments,void 0,(function*(t,e,n=1){
457
+ e?this.setProvider({provider:e.provider,info:e.info||{name:"Unknown"},address:t}):(console.warn("No matching provider was given for the stored wallet address. Trying to recover provider."),yield this.recoverProvider())):this.isAuthenticated=!1}))},oe=function(){return p(this,void 0,void 0,(function*(){try{const[e]=yield this.viem.requestAddresses();return this.walletAddress=e,e}catch(e){throw new h(e)}}))},de=function(){return p(this,void 0,void 0,(function*(){try{const e=yield fetch(`${E}/auth/client-user/nonce`,{method:"POST",headers:{"Content-Type":"application/json","x-client-id":this.clientId},body:JSON.stringify({walletAddress:this.walletAddress})}),t=yield e.json();return 200!==e.status?Promise.reject(t.message||"Failed to fetch nonce"):t.data}catch(e){throw new Error(e)}}))},ue=function(e,t){return p(this,void 0,void 0,(function*(){try{const n=yield fetch(`${E}/auth/client-user/verify`,{method:"POST",headers:{"Content-Type":"application/json","x-client-id":this.clientId},body:JSON.stringify({message:e,signature:t,walletAddress:this.walletAddress})}),i=yield n.json(),a=i.data.split(".")[1],r=JSON.parse(atob(a));return{success:!i.isError,userId:r.id,token:i.data}}catch(e){throw new h(e)}}))},le=function(e){return l({domain:window.location.host,address:this.walletAddress,statement:C,uri:window.location.origin,version:"1",chainId:this.viem.chain.id,nonce:e})},pe=function(e,t){return p(this,arguments,void 0,(function*(e,t,n=1){
448
458
  // if (this.#ackeeInstance)
449
459
  // await sendAnalyticsEvent(this.#ackeeInstance, event, message, count);
450
460
  // else return;
451
- }))};export{vt as Auth,b as SpotifyAPI,T as TwitterAPI};
461
+ }))};export{ve as Auth,b as SpotifyAPI,T as TwitterAPI};