@leather.io/provider 1.6.14 → 1.6.16

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.
@@ -1,174 +1,177 @@
1
- export default ({branch, commitSha, version}) => `//#region src/add-leather-to-providers.ts
2
- function addLeatherToProviders() {
3
- const win = window;
4
- if (!win.btc_providers) win.btc_providers = [];
5
- win.btc_providers.push({
6
- id: "LeatherProvider",
7
- name: "Leather",
8
- icon: "data:image/svg;base64,PHN2ZyB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdmlld0JveD0iMCAwIDEyOCAxMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiByeD0iMjYuODM4NyIgZmlsbD0iIzEyMTAwRiIvPgo8cGF0aCBkPSJNNzQuOTE3MSA1Mi43MTE0QzgyLjQ3NjYgNTEuNTQwOCA5My40MDg3IDQzLjU4MDQgOTMuNDA4NyAzNy4zNzYxQzkzLjQwODcgMzUuNTAzMSA5MS44OTY4IDM0LjIxNTQgODkuNjg3MSAzNC4yMTU0Qzg1LjUwMDQgMzQuMjE1NCA3OC40MDYxIDQwLjUzNjggNzQuOTE3MSA1Mi43MTE0Wk0zOS45MTEgODMuNDk5MUMzMC4wMjU2IDgzLjQ5OTEgMjkuMjExNSA5My4zMzI0IDM5LjA5NjkgOTMuMzMyNEM0My41MTYzIDkzLjMzMjQgNDguODY2MSA5MS41NzY0IDUxLjY1NzMgODguNDE1N0M0Ny41ODY4IDg0LjkwMzggNDQuMjE0MSA4My40OTkxIDM5LjkxMSA4My40OTkxWk0xMDIuODI5IDc5LjI4NDhDMTAzLjQxIDk1Ljc5MDcgOTUuMDM2OSAxMDUuMDM5IDgwLjg0ODQgMTA1LjAzOUM3Mi40NzQ4IDEwNS4wMzkgNjguMjg4MSAxMDEuODc4IDU5LjMzMyA5Ni4wMjQ4QzU0LjY4MSAxMDEuMTc2IDQ1Ljg0MjMgMTA1LjAzOSAzOC41MTU0IDEwNS4wMzlDMTMuMjc4NSAxMDUuMDM5IDE0LjMyNTIgNzIuODQ2MyA0MC4wMjczIDcyLjg0NjNDNDUuMzc3MSA3Mi44NDYzIDQ5LjkxMjggNzQuMjUxMSA1NS43Mjc3IDc3Ljg4TDU5LjU2NTYgNjQuNDE3N0M0My43NDg5IDYwLjA4NjQgMzUuODQwNSA0Ny45MTE4IDQzLjYzMjYgMzAuNDY5M0g1Ni4xOTI5QzQ5LjIxNSA0Mi4wNTg2IDUzLjk4MzIgNTEuNjU3OCA2Mi44MjIgNTIuNzExNEM2Ny41OTAzIDM1LjczNzIgNzcuODI0NiAyMi41MDkgOTEuNDMxNiAyMi41MDlDOTkuMTA3NCAyMi41MDkgMTA1LjE1NSAyNy41NDI4IDEwNS4xNTUgMzYuNjczN0MxMDUuMTU1IDUxLjMwNjYgODYuMDgxOSA2My4yNDcxIDcxLjY2MDcgNjQuNDE3N0w2NS43Mjk1IDg1LjM3MjFDNzIuNDc0OCA5My4yMTUzIDkxLjE5OSAxMDAuODI0IDkxLjE5OSA3OS4yODQ4SDEwMi44MjlaIiBmaWxsPSIjRjdGNUYzIi8+Cjwvc3ZnPgo=",
9
- webUrl: "https://leather.io",
10
- chromeWebStoreUrl: "https://chromewebstore.google.com/detail/leather/ldinpeekobnhjjdofggfgjlcehhmanlj",
11
- methods: [
12
- "open",
13
- "getInfo",
14
- "supportedMethods",
15
- "openSwap",
16
- "getAddresses",
17
- "stx_updateProfile",
18
- "stx_signMessage",
19
- "stx_transferStx",
20
- "stx_transferSip10Ft",
21
- "stx_transferSip9Nft",
22
- "stx_signTransaction",
23
- "stx_signStructuredMessage",
24
- "stx_getAddresses",
25
- "stx_deployContract",
26
- "stx_callContract",
27
- "signPsbt",
28
- "signMessage",
29
- "sendTransfer"
30
- ]
31
- });
32
- }
1
+ export default ({branch, commitSha, version}) => `(function() {
2
+
3
+
4
+ //#region src/add-leather-to-providers.ts
5
+ function addLeatherToProviders() {
6
+ const win = window;
7
+ if (!win.btc_providers) win.btc_providers = [];
8
+ win.btc_providers.push({
9
+ id: "LeatherProvider",
10
+ name: "Leather",
11
+ icon: "data:image/svg;base64,PHN2ZyB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdmlld0JveD0iMCAwIDEyOCAxMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiByeD0iMjYuODM4NyIgZmlsbD0iIzEyMTAwRiIvPgo8cGF0aCBkPSJNNzQuOTE3MSA1Mi43MTE0QzgyLjQ3NjYgNTEuNTQwOCA5My40MDg3IDQzLjU4MDQgOTMuNDA4NyAzNy4zNzYxQzkzLjQwODcgMzUuNTAzMSA5MS44OTY4IDM0LjIxNTQgODkuNjg3MSAzNC4yMTU0Qzg1LjUwMDQgMzQuMjE1NCA3OC40MDYxIDQwLjUzNjggNzQuOTE3MSA1Mi43MTE0Wk0zOS45MTEgODMuNDk5MUMzMC4wMjU2IDgzLjQ5OTEgMjkuMjExNSA5My4zMzI0IDM5LjA5NjkgOTMuMzMyNEM0My41MTYzIDkzLjMzMjQgNDguODY2MSA5MS41NzY0IDUxLjY1NzMgODguNDE1N0M0Ny41ODY4IDg0LjkwMzggNDQuMjE0MSA4My40OTkxIDM5LjkxMSA4My40OTkxWk0xMDIuODI5IDc5LjI4NDhDMTAzLjQxIDk1Ljc5MDcgOTUuMDM2OSAxMDUuMDM5IDgwLjg0ODQgMTA1LjAzOUM3Mi40NzQ4IDEwNS4wMzkgNjguMjg4MSAxMDEuODc4IDU5LjMzMyA5Ni4wMjQ4QzU0LjY4MSAxMDEuMTc2IDQ1Ljg0MjMgMTA1LjAzOSAzOC41MTU0IDEwNS4wMzlDMTMuMjc4NSAxMDUuMDM5IDE0LjMyNTIgNzIuODQ2MyA0MC4wMjczIDcyLjg0NjNDNDUuMzc3MSA3Mi44NDYzIDQ5LjkxMjggNzQuMjUxMSA1NS43Mjc3IDc3Ljg4TDU5LjU2NTYgNjQuNDE3N0M0My43NDg5IDYwLjA4NjQgMzUuODQwNSA0Ny45MTE4IDQzLjYzMjYgMzAuNDY5M0g1Ni4xOTI5QzQ5LjIxNSA0Mi4wNTg2IDUzLjk4MzIgNTEuNjU3OCA2Mi44MjIgNTIuNzExNEM2Ny41OTAzIDM1LjczNzIgNzcuODI0NiAyMi41MDkgOTEuNDMxNiAyMi41MDlDOTkuMTA3NCAyMi41MDkgMTA1LjE1NSAyNy41NDI4IDEwNS4xNTUgMzYuNjczN0MxMDUuMTU1IDUxLjMwNjYgODYuMDgxOSA2My4yNDcxIDcxLjY2MDcgNjQuNDE3N0w2NS43Mjk1IDg1LjM3MjFDNzIuNDc0OCA5My4yMTUzIDkxLjE5OSAxMDAuODI0IDkxLjE5OSA3OS4yODQ4SDEwMi44MjlaIiBmaWxsPSIjRjdGNUYzIi8+Cjwvc3ZnPgo=",
12
+ webUrl: "https://leather.io",
13
+ chromeWebStoreUrl: "https://chromewebstore.google.com/detail/leather/ldinpeekobnhjjdofggfgjlcehhmanlj",
14
+ methods: [
15
+ "open",
16
+ "getInfo",
17
+ "supportedMethods",
18
+ "openSwap",
19
+ "getAddresses",
20
+ "stx_updateProfile",
21
+ "stx_signMessage",
22
+ "stx_transferStx",
23
+ "stx_transferSip10Ft",
24
+ "stx_transferSip9Nft",
25
+ "stx_signTransaction",
26
+ "stx_signStructuredMessage",
27
+ "stx_getAddresses",
28
+ "stx_deployContract",
29
+ "stx_callContract",
30
+ "signPsbt",
31
+ "signMessage",
32
+ "sendTransfer"
33
+ ]
34
+ });
35
+ }
33
36
 
34
37
  //#endregion
35
38
  //#region src/crypto-random-uuid-polyfill.ts
36
- function generateUUID() {
37
- const array = new Uint8Array(16);
38
- crypto.getRandomValues(array);
39
- return [...array].map((b, i) => ([
40
- 4,
41
- 6,
42
- 8,
43
- 10
44
- ].includes(i) ? "-" : "") + (b % 16).toString(16)).join("");
45
- }
46
- crypto.randomUUID = crypto.randomUUID ?? generateUUID;
39
+ function generateUUID() {
40
+ const array = new Uint8Array(16);
41
+ crypto.getRandomValues(array);
42
+ return [...array].map((b, i) => ([
43
+ 4,
44
+ 6,
45
+ 8,
46
+ 10
47
+ ].includes(i) ? "-" : "") + (b % 16).toString(16)).join("");
48
+ }
49
+ crypto.randomUUID = crypto.randomUUID ?? generateUUID;
47
50
 
48
51
  //#endregion
49
52
  //#region src/legacy-requests.ts
50
53
  /**
51
- * Inpage Script (LeatherProvider) <-> Content Script
52
- */
53
- var DomEventName = /* @__PURE__ */ function(DomEventName\$1) {
54
- DomEventName\$1["request"] = "request";
55
- DomEventName\$1["authenticationRequest"] = "hiroWalletStacksAuthenticationRequest";
56
- DomEventName\$1["signatureRequest"] = "hiroWalletSignatureRequest";
57
- DomEventName\$1["structuredDataSignatureRequest"] = "hiroWalletStructuredDataSignatureRequest";
58
- DomEventName\$1["transactionRequest"] = "hiroWalletStacksTransactionRequest";
59
- DomEventName\$1["profileUpdateRequest"] = "hiroWalletProfileUpdateRequest";
60
- DomEventName\$1["psbtRequest"] = "hiroWalletPsbtRequest";
61
- return DomEventName\$1;
62
- }(DomEventName || {});
63
- const MESSAGE_SOURCE = "stacks-wallet";
64
- var ExternalMethods = /* @__PURE__ */ function(ExternalMethods\$1) {
65
- ExternalMethods\$1["transactionRequest"] = "hiroWalletTransactionRequest";
66
- ExternalMethods\$1["transactionResponse"] = "hiroWalletTransactionResponse";
67
- ExternalMethods\$1["authenticationRequest"] = "hiroWalletAuthenticationRequest";
68
- ExternalMethods\$1["authenticationResponse"] = "hiroWalletAuthenticationResponse";
69
- ExternalMethods\$1["signatureRequest"] = "hiroWalletSignatureRequest";
70
- ExternalMethods\$1["signatureResponse"] = "hiroWalletSignatureResponse";
71
- ExternalMethods\$1["structuredDataSignatureRequest"] = "hiroWalletStructuredDataSignatureRequest";
72
- ExternalMethods\$1["structuredDataSignatureResponse"] = "hiroWalletStructuredDataSignatureResponse";
73
- ExternalMethods\$1["profileUpdateRequest"] = "hiroWalletProfileUpdateRequest";
74
- ExternalMethods\$1["profileUpdateResponse"] = "hiroWalletProfileUpdateResponse";
75
- ExternalMethods\$1["psbtRequest"] = "hiroWalletPsbtRequest";
76
- ExternalMethods\$1["psbtResponse"] = "hiroWalletPsbtResponse";
77
- return ExternalMethods\$1;
78
- }(ExternalMethods || {});
79
- function isValidEvent(event, method) {
80
- const { data } = event;
81
- const correctSource = data.source === MESSAGE_SOURCE;
82
- const correctMethod = data.method === method;
83
- return correctSource && correctMethod && !!data.payload;
84
- }
85
- async function callAndReceive(methodName, opts = {}) {
86
- return new Promise((resolve, reject) => {
87
- const timeout = setTimeout(() => {
88
- reject("Unable to get response from Blockstack extension");
89
- }, 1e3);
90
- function waitForResponse(event) {
91
- if (event.data.source === "blockstack-extension" && event.data.method === \`\${methodName}Response\`) {
92
- clearTimeout(timeout);
93
- window.removeEventListener("message", waitForResponse);
94
- resolve(event.data);
54
+ * Inpage Script (LeatherProvider) <-> Content Script
55
+ */
56
+ var DomEventName = /* @__PURE__ */ function(DomEventName\$1) {
57
+ DomEventName\$1["request"] = "request";
58
+ DomEventName\$1["authenticationRequest"] = "hiroWalletStacksAuthenticationRequest";
59
+ DomEventName\$1["signatureRequest"] = "hiroWalletSignatureRequest";
60
+ DomEventName\$1["structuredDataSignatureRequest"] = "hiroWalletStructuredDataSignatureRequest";
61
+ DomEventName\$1["transactionRequest"] = "hiroWalletStacksTransactionRequest";
62
+ DomEventName\$1["profileUpdateRequest"] = "hiroWalletProfileUpdateRequest";
63
+ DomEventName\$1["psbtRequest"] = "hiroWalletPsbtRequest";
64
+ return DomEventName\$1;
65
+ }(DomEventName || {});
66
+ const MESSAGE_SOURCE = "stacks-wallet";
67
+ var ExternalMethods = /* @__PURE__ */ function(ExternalMethods\$1) {
68
+ ExternalMethods\$1["transactionRequest"] = "hiroWalletTransactionRequest";
69
+ ExternalMethods\$1["transactionResponse"] = "hiroWalletTransactionResponse";
70
+ ExternalMethods\$1["authenticationRequest"] = "hiroWalletAuthenticationRequest";
71
+ ExternalMethods\$1["authenticationResponse"] = "hiroWalletAuthenticationResponse";
72
+ ExternalMethods\$1["signatureRequest"] = "hiroWalletSignatureRequest";
73
+ ExternalMethods\$1["signatureResponse"] = "hiroWalletSignatureResponse";
74
+ ExternalMethods\$1["structuredDataSignatureRequest"] = "hiroWalletStructuredDataSignatureRequest";
75
+ ExternalMethods\$1["structuredDataSignatureResponse"] = "hiroWalletStructuredDataSignatureResponse";
76
+ ExternalMethods\$1["profileUpdateRequest"] = "hiroWalletProfileUpdateRequest";
77
+ ExternalMethods\$1["profileUpdateResponse"] = "hiroWalletProfileUpdateResponse";
78
+ ExternalMethods\$1["psbtRequest"] = "hiroWalletPsbtRequest";
79
+ ExternalMethods\$1["psbtResponse"] = "hiroWalletPsbtResponse";
80
+ return ExternalMethods\$1;
81
+ }(ExternalMethods || {});
82
+ function isValidEvent(event, method) {
83
+ const { data } = event;
84
+ const correctSource = data.source === MESSAGE_SOURCE;
85
+ const correctMethod = data.method === method;
86
+ return correctSource && correctMethod && !!data.payload;
87
+ }
88
+ async function callAndReceive(methodName, opts = {}) {
89
+ return new Promise((resolve, reject) => {
90
+ const timeout = setTimeout(() => {
91
+ reject("Unable to get response from Blockstack extension");
92
+ }, 1e3);
93
+ function waitForResponse(event) {
94
+ if (event.data.source === "blockstack-extension" && event.data.method === \`\${methodName}Response\`) {
95
+ clearTimeout(timeout);
96
+ window.removeEventListener("message", waitForResponse);
97
+ resolve(event.data);
98
+ }
95
99
  }
96
- }
97
- window.addEventListener("message", waitForResponse);
98
- window.postMessage({
99
- method: methodName,
100
- source: "blockstack-app",
101
- ...opts
102
- }, window.location.origin);
103
- });
104
- }
105
- function placeholderLegacyRequests() {
106
- return {
107
- getURL: () => {
108
- throw new Error("This function i deprecated");
109
- },
110
- structuredDataSignatureRequest: () => {
111
- throw new Error("This function is deprecated");
112
- },
113
- signatureRequest: () => {
114
- throw new Error("This function is deprecated");
115
- },
116
- authenticationRequest: () => {
117
- throw new Error("This function is deprecated");
118
- },
119
- transactionRequest: () => {
120
- throw new Error("This function is deprecated");
121
- },
122
- psbtRequest: () => {
123
- throw new Error("This function is deprecated");
124
- },
125
- profileUpdateRequest: () => {
126
- throw new Error("This function is deprecated");
127
- }
128
- };
129
- }
130
- function legacyRequests() {
131
- return {
132
- getURL: async () => {
133
- const { url } = await callAndReceive("getURL");
134
- return url;
135
- },
136
- structuredDataSignatureRequest: async (signatureRequest) => {
137
- const event = new CustomEvent(DomEventName.structuredDataSignatureRequest, { detail: { signatureRequest } });
138
- document.dispatchEvent(event);
139
- return new Promise((resolve, reject) => {
140
- function handleMessage(event\$1) {
141
- if (!isValidEvent(event\$1, ExternalMethods.signatureResponse)) return;
142
- if (event\$1.data.payload?.signatureRequest !== signatureRequest) return;
143
- window.removeEventListener("message", handleMessage);
144
- if (event\$1.data.payload.signatureResponse === "cancel") {
145
- reject(event\$1.data.payload.signatureResponse);
146
- return;
100
+ window.addEventListener("message", waitForResponse);
101
+ window.postMessage({
102
+ method: methodName,
103
+ source: "blockstack-app",
104
+ ...opts
105
+ }, window.location.origin);
106
+ });
107
+ }
108
+ function placeholderLegacyRequests() {
109
+ return {
110
+ getURL: () => {
111
+ throw new Error("This function i deprecated");
112
+ },
113
+ structuredDataSignatureRequest: () => {
114
+ throw new Error("This function is deprecated");
115
+ },
116
+ signatureRequest: () => {
117
+ throw new Error("This function is deprecated");
118
+ },
119
+ authenticationRequest: () => {
120
+ throw new Error("This function is deprecated");
121
+ },
122
+ transactionRequest: () => {
123
+ throw new Error("This function is deprecated");
124
+ },
125
+ psbtRequest: () => {
126
+ throw new Error("This function is deprecated");
127
+ },
128
+ profileUpdateRequest: () => {
129
+ throw new Error("This function is deprecated");
130
+ }
131
+ };
132
+ }
133
+ function legacyRequests() {
134
+ return {
135
+ getURL: async () => {
136
+ const { url } = await callAndReceive("getURL");
137
+ return url;
138
+ },
139
+ structuredDataSignatureRequest: async (signatureRequest) => {
140
+ const event = new CustomEvent(DomEventName.structuredDataSignatureRequest, { detail: { signatureRequest } });
141
+ document.dispatchEvent(event);
142
+ return new Promise((resolve, reject) => {
143
+ function handleMessage(event\$1) {
144
+ if (!isValidEvent(event\$1, ExternalMethods.signatureResponse)) return;
145
+ if (event\$1.data.payload?.signatureRequest !== signatureRequest) return;
146
+ window.removeEventListener("message", handleMessage);
147
+ if (event\$1.data.payload.signatureResponse === "cancel") {
148
+ reject(event\$1.data.payload.signatureResponse);
149
+ return;
150
+ }
151
+ if (typeof event\$1.data.payload.signatureResponse !== "string") resolve(event\$1.data.payload.signatureResponse);
147
152
  }
148
- if (typeof event\$1.data.payload.signatureResponse !== "string") resolve(event\$1.data.payload.signatureResponse);
149
- }
150
- window.addEventListener("message", handleMessage);
151
- });
152
- },
153
- signatureRequest: async (signatureRequest) => {
154
- const event = new CustomEvent(DomEventName.signatureRequest, { detail: { signatureRequest } });
155
- document.dispatchEvent(event);
156
- return new Promise((resolve, reject) => {
157
- function handleMessage(event\$1) {
158
- if (!isValidEvent(event\$1, ExternalMethods.signatureResponse)) return;
159
- if (event\$1.data.payload?.signatureRequest !== signatureRequest) return;
160
- window.removeEventListener("message", handleMessage);
161
- if (event\$1.data.payload.signatureResponse === "cancel") {
162
- reject(event\$1.data.payload.signatureResponse);
163
- return;
153
+ window.addEventListener("message", handleMessage);
154
+ });
155
+ },
156
+ signatureRequest: async (signatureRequest) => {
157
+ const event = new CustomEvent(DomEventName.signatureRequest, { detail: { signatureRequest } });
158
+ document.dispatchEvent(event);
159
+ return new Promise((resolve, reject) => {
160
+ function handleMessage(event\$1) {
161
+ if (!isValidEvent(event\$1, ExternalMethods.signatureResponse)) return;
162
+ if (event\$1.data.payload?.signatureRequest !== signatureRequest) return;
163
+ window.removeEventListener("message", handleMessage);
164
+ if (event\$1.data.payload.signatureResponse === "cancel") {
165
+ reject(event\$1.data.payload.signatureResponse);
166
+ return;
167
+ }
168
+ if (typeof event\$1.data.payload.signatureResponse !== "string") resolve(event\$1.data.payload.signatureResponse);
164
169
  }
165
- if (typeof event\$1.data.payload.signatureResponse !== "string") resolve(event\$1.data.payload.signatureResponse);
166
- }
167
- window.addEventListener("message", handleMessage);
168
- });
169
- },
170
- authenticationRequest: async (authenticationRequest) => {
171
- console.warn(\`
170
+ window.addEventListener("message", handleMessage);
171
+ });
172
+ },
173
+ authenticationRequest: async (authenticationRequest) => {
174
+ console.warn(\`
172
175
  WARNING: Legacy Leather request detected
173
176
 
174
177
  Leather now uses an RPC-style API, that can be used directly,
@@ -178,188 +181,187 @@ function legacyRequests() {
178
181
 
179
182
  See our docs for more information https://leather.gitbook.io/
180
183
  \`);
181
- const event = new CustomEvent(DomEventName.authenticationRequest, { detail: { authenticationRequest } });
182
- document.dispatchEvent(event);
183
- return new Promise((resolve, reject) => {
184
- function handleMessage(event\$1) {
185
- if (!isValidEvent(event\$1, ExternalMethods.authenticationResponse)) return;
186
- if (event\$1.data.payload?.authenticationRequest !== authenticationRequest) return;
187
- window.removeEventListener("message", handleMessage);
188
- if (event\$1.data.payload.authenticationResponse === "cancel") {
189
- reject(event\$1.data.payload.authenticationResponse);
190
- return;
184
+ const event = new CustomEvent(DomEventName.authenticationRequest, { detail: { authenticationRequest } });
185
+ document.dispatchEvent(event);
186
+ return new Promise((resolve, reject) => {
187
+ function handleMessage(event\$1) {
188
+ if (!isValidEvent(event\$1, ExternalMethods.authenticationResponse)) return;
189
+ if (event\$1.data.payload?.authenticationRequest !== authenticationRequest) return;
190
+ window.removeEventListener("message", handleMessage);
191
+ if (event\$1.data.payload.authenticationResponse === "cancel") {
192
+ reject(event\$1.data.payload.authenticationResponse);
193
+ return;
194
+ }
195
+ resolve(event\$1.data.payload.authenticationResponse);
191
196
  }
192
- resolve(event\$1.data.payload.authenticationResponse);
193
- }
194
- window.addEventListener("message", handleMessage);
195
- });
196
- },
197
- transactionRequest: async (transactionRequest) => {
198
- const event = new CustomEvent(DomEventName.transactionRequest, { detail: { transactionRequest } });
199
- document.dispatchEvent(event);
200
- return new Promise((resolve, reject) => {
201
- function handleMessage(event\$1) {
202
- if (!isValidEvent(event\$1, ExternalMethods.transactionResponse)) return;
203
- if (event\$1.data.payload?.transactionRequest !== transactionRequest) return;
204
- window.removeEventListener("message", handleMessage);
205
- if (event\$1.data.payload.transactionResponse === "cancel") {
206
- reject(event\$1.data.payload.transactionResponse);
207
- return;
197
+ window.addEventListener("message", handleMessage);
198
+ });
199
+ },
200
+ transactionRequest: async (transactionRequest) => {
201
+ const event = new CustomEvent(DomEventName.transactionRequest, { detail: { transactionRequest } });
202
+ document.dispatchEvent(event);
203
+ return new Promise((resolve, reject) => {
204
+ function handleMessage(event\$1) {
205
+ if (!isValidEvent(event\$1, ExternalMethods.transactionResponse)) return;
206
+ if (event\$1.data.payload?.transactionRequest !== transactionRequest) return;
207
+ window.removeEventListener("message", handleMessage);
208
+ if (event\$1.data.payload.transactionResponse === "cancel") {
209
+ reject(event\$1.data.payload.transactionResponse);
210
+ return;
211
+ }
212
+ if (typeof event\$1.data.payload.transactionResponse !== "string") resolve(event\$1.data.payload.transactionResponse);
208
213
  }
209
- if (typeof event\$1.data.payload.transactionResponse !== "string") resolve(event\$1.data.payload.transactionResponse);
210
- }
211
- window.addEventListener("message", handleMessage);
212
- });
213
- },
214
- psbtRequest: async (psbtRequest) => {
215
- const event = new CustomEvent(DomEventName.psbtRequest, { detail: { psbtRequest } });
216
- document.dispatchEvent(event);
217
- return new Promise((resolve, reject) => {
218
- function handleMessage(event\$1) {
219
- if (!isValidEvent(event\$1, ExternalMethods.psbtResponse)) return;
220
- if (event\$1.data.payload?.psbtRequest !== psbtRequest) return;
221
- window.removeEventListener("message", handleMessage);
222
- if (event\$1.data.payload.psbtResponse === "cancel") {
223
- reject(event\$1.data.payload.psbtResponse);
224
- return;
214
+ window.addEventListener("message", handleMessage);
215
+ });
216
+ },
217
+ psbtRequest: async (psbtRequest) => {
218
+ const event = new CustomEvent(DomEventName.psbtRequest, { detail: { psbtRequest } });
219
+ document.dispatchEvent(event);
220
+ return new Promise((resolve, reject) => {
221
+ function handleMessage(event\$1) {
222
+ if (!isValidEvent(event\$1, ExternalMethods.psbtResponse)) return;
223
+ if (event\$1.data.payload?.psbtRequest !== psbtRequest) return;
224
+ window.removeEventListener("message", handleMessage);
225
+ if (event\$1.data.payload.psbtResponse === "cancel") {
226
+ reject(event\$1.data.payload.psbtResponse);
227
+ return;
228
+ }
229
+ if (typeof event\$1.data.payload.psbtResponse !== "string") resolve(event\$1.data.payload.psbtResponse);
225
230
  }
226
- if (typeof event\$1.data.payload.psbtResponse !== "string") resolve(event\$1.data.payload.psbtResponse);
227
- }
228
- window.addEventListener("message", handleMessage);
229
- });
230
- },
231
- profileUpdateRequest: async (profileUpdateRequest) => {
232
- const event = new CustomEvent(DomEventName.profileUpdateRequest, { detail: { profileUpdateRequest } });
233
- document.dispatchEvent(event);
234
- return new Promise((resolve, reject) => {
235
- function handleMessage(event\$1) {
236
- if (!isValidEvent(event\$1, ExternalMethods.profileUpdateResponse)) return;
237
- if (event\$1.data.payload?.profileUpdateRequest !== profileUpdateRequest) return;
238
- window.removeEventListener("message", handleMessage);
239
- if (event\$1.data.payload.profileUpdateResponse === "cancel") {
240
- reject(event\$1.data.payload.profileUpdateResponse);
241
- return;
231
+ window.addEventListener("message", handleMessage);
232
+ });
233
+ },
234
+ profileUpdateRequest: async (profileUpdateRequest) => {
235
+ const event = new CustomEvent(DomEventName.profileUpdateRequest, { detail: { profileUpdateRequest } });
236
+ document.dispatchEvent(event);
237
+ return new Promise((resolve, reject) => {
238
+ function handleMessage(event\$1) {
239
+ if (!isValidEvent(event\$1, ExternalMethods.profileUpdateResponse)) return;
240
+ if (event\$1.data.payload?.profileUpdateRequest !== profileUpdateRequest) return;
241
+ window.removeEventListener("message", handleMessage);
242
+ if (event\$1.data.payload.profileUpdateResponse === "cancel") {
243
+ reject(event\$1.data.payload.profileUpdateResponse);
244
+ return;
245
+ }
246
+ if (typeof event\$1.data.payload.profileUpdateResponse !== "string") resolve(event\$1.data.payload.profileUpdateResponse);
242
247
  }
243
- if (typeof event\$1.data.payload.profileUpdateResponse !== "string") resolve(event\$1.data.payload.profileUpdateResponse);
244
- }
245
- window.addEventListener("message", handleMessage);
246
- });
248
+ window.addEventListener("message", handleMessage);
249
+ });
250
+ }
251
+ };
252
+ }
253
+ function getLegacyRequests(platform) {
254
+ switch (platform) {
255
+ case "extension": return legacyRequests();
256
+ case "mobile":
257
+ default: return placeholderLegacyRequests();
247
258
  }
248
- };
249
- }
250
- function getLegacyRequests(platform) {
251
- switch (platform) {
252
- case "extension": return legacyRequests();
253
- case "mobile":
254
- default: return placeholderLegacyRequests();
255
259
  }
256
- }
257
260
 
258
261
  //#endregion
259
262
  //#region src/index.ts
260
- function initInpageProvider({ onDispatch, env }) {
261
- addLeatherToProviders();
262
- const provider = {
263
- isLeather: true,
264
- ...getLegacyRequests(env.platform),
265
- getProductInfo() {
266
- return {
267
- version: env.version,
268
- name: "Leather",
269
- meta: {
270
- tag: env.branch,
271
- commit: env.commitSha
272
- }
273
- };
274
- },
275
- request(method, params) {
276
- const id = crypto.randomUUID();
277
- onDispatch({
278
- jsonrpc: "2.0",
279
- id,
280
- method,
281
- params: params ?? {}
263
+ function initInpageProvider({ onDispatch, env }) {
264
+ addLeatherToProviders();
265
+ const provider = {
266
+ isLeather: true,
267
+ ...getLegacyRequests(env.platform),
268
+ getProductInfo() {
269
+ return {
270
+ version: env.version,
271
+ name: "Leather",
272
+ meta: {
273
+ tag: env.branch,
274
+ commit: env.commitSha
275
+ }
276
+ };
277
+ },
278
+ request(method, params) {
279
+ const id = crypto.randomUUID();
280
+ onDispatch({
281
+ jsonrpc: "2.0",
282
+ id,
283
+ method,
284
+ params: params ?? {}
285
+ });
286
+ return new Promise((resolve, reject) => {
287
+ function handleMessage(event) {
288
+ const response = typeof event.data === "object" ? event.data : JSON.parse(event.data);
289
+ if (response.id !== id) return;
290
+ window.removeEventListener("message", handleMessage);
291
+ if ("error" in response) return reject(response);
292
+ return resolve(response);
293
+ }
294
+ window.addEventListener("message", handleMessage);
295
+ });
296
+ }
297
+ };
298
+ function consoleDeprecationNotice(text) {
299
+ console.warn(\`Deprecation warning: \${text}\`);
300
+ }
301
+ function warnAboutDeprecatedProvider(legacyProvider) {
302
+ return Object.fromEntries(Object.entries(legacyProvider).map(([key, value]) => {
303
+ if (typeof value === "function") return [key, (...args) => {
304
+ switch (key) {
305
+ case "authenticationRequest":
306
+ consoleDeprecationNotice(\`Use LeatherProvider.request('getAddresses') instead, see docs https://leather.gitbook.io/developers/bitcoin/connect-users/get-addresses\`);
307
+ break;
308
+ case "psbtRequest":
309
+ consoleDeprecationNotice(\`Use LeatherProvider.request('signPsbt') instead, see docs https://leather.gitbook.io/developers/bitcoin/sign-transactions/partially-signed-bitcoin-transactions-psbts\`);
310
+ break;
311
+ case "structuredDataSignatureRequest":
312
+ case "signatureRequest":
313
+ consoleDeprecationNotice(\`Use LeatherProvider.request('stx_signMessage') instead\`);
314
+ break;
315
+ default: consoleDeprecationNotice("The provider object is deprecated. Use \`LeatherProvider\` instead");
316
+ }
317
+ return value(...args);
318
+ }];
319
+ return [key, value];
320
+ }));
321
+ }
322
+ try {
323
+ Object.defineProperty(window, "StacksProvider", {
324
+ get: () => warnAboutDeprecatedProvider(provider),
325
+ set: () => {}
282
326
  });
283
- return new Promise((resolve, reject) => {
284
- function handleMessage(event) {
285
- const response = typeof event.data === "object" ? event.data : JSON.parse(event.data);
286
- if (response.id !== id) return;
287
- window.removeEventListener("message", handleMessage);
288
- if ("error" in response) return reject(response);
289
- return resolve(response);
290
- }
291
- window.addEventListener("message", handleMessage);
327
+ } catch {
328
+ console.log("Unable to set StacksProvider");
329
+ }
330
+ try {
331
+ Object.defineProperty(window, "HiroWalletProvider", {
332
+ get: () => warnAboutDeprecatedProvider(provider),
333
+ set: () => {}
292
334
  });
335
+ } catch {
336
+ console.log("Unable to set HiroWalletProvider");
293
337
  }
294
- };
295
- function consoleDeprecationNotice(text) {
296
- console.warn(\`Deprecation warning: \${text}\`);
297
- }
298
- function warnAboutDeprecatedProvider(legacyProvider) {
299
- return Object.fromEntries(Object.entries(legacyProvider).map(([key, value]) => {
300
- if (typeof value === "function") return [key, (...args) => {
301
- switch (key) {
302
- case "authenticationRequest":
303
- consoleDeprecationNotice(\`Use LeatherProvider.request('getAddresses') instead, see docs https://leather.gitbook.io/developers/bitcoin/connect-users/get-addresses\`);
304
- break;
305
- case "psbtRequest":
306
- consoleDeprecationNotice(\`Use LeatherProvider.request('signPsbt') instead, see docs https://leather.gitbook.io/developers/bitcoin/sign-transactions/partially-signed-bitcoin-transactions-psbts\`);
307
- break;
308
- case "structuredDataSignatureRequest":
309
- case "signatureRequest":
310
- consoleDeprecationNotice(\`Use LeatherProvider.request('stx_signMessage') instead\`);
311
- break;
312
- default: consoleDeprecationNotice("The provider object is deprecated. Use \`LeatherProvider\` instead");
313
- }
314
- return value(...args);
315
- }];
316
- return [key, value];
317
- }));
318
- }
319
- try {
320
- Object.defineProperty(window, "StacksProvider", {
321
- get: () => warnAboutDeprecatedProvider(provider),
322
- set: () => {}
323
- });
324
- } catch {
325
- console.log("Unable to set StacksProvider");
326
- }
327
- try {
328
- Object.defineProperty(window, "HiroWalletProvider", {
329
- get: () => warnAboutDeprecatedProvider(provider),
330
- set: () => {}
331
- });
332
- } catch {
333
- console.log("Unable to set HiroWalletProvider");
334
- }
335
- try {
336
- Object.defineProperty(window, "LeatherProvider", {
337
- get: () => provider,
338
- set: () => {}
339
- });
340
- } catch {
341
- console.warn("Unable to set LeatherProvider");
338
+ try {
339
+ Object.defineProperty(window, "LeatherProvider", {
340
+ get: () => provider,
341
+ set: () => {}
342
+ });
343
+ } catch {
344
+ console.warn("Unable to set LeatherProvider");
345
+ }
346
+ if (typeof window.btc === "undefined") window.btc = warnAboutDeprecatedProvider(provider);
342
347
  }
343
- if (typeof window.btc === "undefined") window.btc = warnAboutDeprecatedProvider(provider);
344
- }
345
348
 
346
349
  //#endregion
347
350
  //#region src/mobile.ts
348
- window.onMessageFromRN = function(str) {
349
- window.postMessage(str, window.location.origin);
350
- };
351
- initInpageProvider({
352
- onDispatch(rpcRequest) {
353
- window.ReactNativeWebView.postMessage(JSON.stringify(rpcRequest));
354
- },
355
- env: {
356
- platform: "mobile",
357
- branch: "${branch}",
358
- commitSha: "${commitSha}",
359
- version: "${version}"
360
- }
361
- });
351
+ window.onMessageFromRN = function(str) {
352
+ window.postMessage(str, window.location.origin);
353
+ };
354
+ initInpageProvider({
355
+ onDispatch(rpcRequest) {
356
+ window.ReactNativeWebView.postMessage(JSON.stringify(rpcRequest));
357
+ },
358
+ env: {
359
+ platform: "mobile",
360
+ branch: "${branch}",
361
+ commitSha: "${commitSha}",
362
+ version: "${version}"
363
+ }
364
+ });
362
365
 
363
366
  //#endregion
364
- export { };
365
- //# sourceMappingURL=mobile.js.map`
367
+ })();`