@megaeth-labs/wallet-sdk 0.1.16 → 0.1.17
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/index.cjs +1 -357
- package/dist/index.js +1 -320
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,357 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
|
|
30
|
-
// src/index.ts
|
|
31
|
-
var index_exports = {};
|
|
32
|
-
__export(index_exports, {
|
|
33
|
-
mega: () => mega
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(index_exports);
|
|
36
|
-
|
|
37
|
-
// src/wallet.ts
|
|
38
|
-
var Penpal = __toESM(require("penpal"), 1);
|
|
39
|
-
|
|
40
|
-
// src/callbacks.ts
|
|
41
|
-
var onStatusChange;
|
|
42
|
-
var callbacks_default = {
|
|
43
|
-
onStatusChange
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
// src/events.ts
|
|
47
|
-
var onStatusChange2 = (callback) => {
|
|
48
|
-
callbacks_default.onStatusChange = callback;
|
|
49
|
-
};
|
|
50
|
-
var events = {
|
|
51
|
-
onStatusChange: onStatusChange2
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
// src/consts.ts
|
|
55
|
-
var WALLET_URL = "https://account.megaeth.com";
|
|
56
|
-
var LOCAL_WALLET_URL = "http://localhost:4000";
|
|
57
|
-
|
|
58
|
-
// src/helpers.ts
|
|
59
|
-
var param = (key, value) => value !== void 0 && value !== "" ? `${key}=${encodeURIComponent(String(value))}` : void 0;
|
|
60
|
-
var getWalletUrl = (config) => {
|
|
61
|
-
const origin = (() => {
|
|
62
|
-
if (config.devMode) {
|
|
63
|
-
if (config.walletOriginUrl) return config.walletOriginUrl;
|
|
64
|
-
return LOCAL_WALLET_URL;
|
|
65
|
-
}
|
|
66
|
-
return WALLET_URL;
|
|
67
|
-
})();
|
|
68
|
-
const rawParams = [
|
|
69
|
-
param("network", config.network),
|
|
70
|
-
param("sponsorUrl", config.sponsorUrl),
|
|
71
|
-
param("sponsorMode", config.sponsorMode),
|
|
72
|
-
param("sponsorToken", config.sponsorToken),
|
|
73
|
-
param("debug", config.debug),
|
|
74
|
-
param("logging", config.logging)
|
|
75
|
-
];
|
|
76
|
-
if (config.devMode) {
|
|
77
|
-
rawParams.push(param("apiUrl", config.apiUrl));
|
|
78
|
-
rawParams.push(param("relayerUrl", config.relayerUrl));
|
|
79
|
-
}
|
|
80
|
-
const params = rawParams.filter((value) => Boolean(value));
|
|
81
|
-
return {
|
|
82
|
-
origin,
|
|
83
|
-
uiUrl: `${origin}?${params.join("&")}`
|
|
84
|
-
};
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
// src/state.ts
|
|
88
|
-
var State = class {
|
|
89
|
-
constructor() {
|
|
90
|
-
this.initialised = false;
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
var state_default = new State();
|
|
94
|
-
|
|
95
|
-
// src/inbound-methods/hide.ts
|
|
96
|
-
var hide = () => {
|
|
97
|
-
state_default.iframe.style.display = "none";
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
// src/inbound-methods/setStatus.ts
|
|
101
|
-
var setStatus = (status2) => {
|
|
102
|
-
callbacks_default.onStatusChange?.(status2);
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
// src/inbound-methods/show.ts
|
|
106
|
-
var show = () => {
|
|
107
|
-
state_default.iframe.style.display = "block";
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
// src/inbound-methods/index.ts
|
|
111
|
-
var inboundMethods = {
|
|
112
|
-
show,
|
|
113
|
-
hide,
|
|
114
|
-
setStatus
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
// src/logger.ts
|
|
118
|
-
var _Logger = class _Logger {
|
|
119
|
-
static setLogLevel(level) {
|
|
120
|
-
_Logger.logLevel = level;
|
|
121
|
-
}
|
|
122
|
-
static debug(module2, message, data) {
|
|
123
|
-
_Logger.log("debug", module2, message, data);
|
|
124
|
-
}
|
|
125
|
-
static info(module2, message, data) {
|
|
126
|
-
_Logger.log("info", module2, message, data);
|
|
127
|
-
}
|
|
128
|
-
static warn(module2, message, data) {
|
|
129
|
-
_Logger.log("warn", module2, message, data);
|
|
130
|
-
}
|
|
131
|
-
static error(module2, message, data) {
|
|
132
|
-
_Logger.log("error", module2, message, data);
|
|
133
|
-
}
|
|
134
|
-
static shouldLog(level) {
|
|
135
|
-
switch (_Logger.logLevel) {
|
|
136
|
-
case "debug":
|
|
137
|
-
return true;
|
|
138
|
-
case "info":
|
|
139
|
-
return ["info", "warn", "error"].includes(level);
|
|
140
|
-
case "warn":
|
|
141
|
-
return ["warn", "error"].includes(level);
|
|
142
|
-
case "error":
|
|
143
|
-
return level === "error";
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
static getMessage(module2, message) {
|
|
147
|
-
return `[${module2}] ${message}`;
|
|
148
|
-
}
|
|
149
|
-
static log(level, module2, message, data) {
|
|
150
|
-
if (!_Logger.shouldLog(level)) return;
|
|
151
|
-
const formattedMessage = _Logger.getMessage(module2, message);
|
|
152
|
-
const params = [formattedMessage];
|
|
153
|
-
if (data) {
|
|
154
|
-
params.push(data);
|
|
155
|
-
}
|
|
156
|
-
switch (level) {
|
|
157
|
-
case "debug":
|
|
158
|
-
console.debug(...params);
|
|
159
|
-
break;
|
|
160
|
-
case "info":
|
|
161
|
-
console.info(...params);
|
|
162
|
-
break;
|
|
163
|
-
case "warn":
|
|
164
|
-
console.warn(...params);
|
|
165
|
-
break;
|
|
166
|
-
case "error":
|
|
167
|
-
console.error(...params);
|
|
168
|
-
break;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
_Logger.logLevel = "error";
|
|
173
|
-
var Logger = _Logger;
|
|
174
|
-
|
|
175
|
-
// src/outbound-methods/authenticate.ts
|
|
176
|
-
var authenticate = async () => {
|
|
177
|
-
return state_default.remote.authenticate();
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
// src/outbound-methods/balances.ts
|
|
181
|
-
var balances = async (request) => {
|
|
182
|
-
return state_default.remote.balances(request);
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
// src/outbound-methods/callContract.ts
|
|
186
|
-
var callContract = (request) => {
|
|
187
|
-
return state_default.remote.callContract(request);
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
// src/outbound-methods/connect.ts
|
|
191
|
-
var connect = async () => {
|
|
192
|
-
Logger.debug("connect", "Connect wallet triggered...");
|
|
193
|
-
const result = await state_default.remote.connect();
|
|
194
|
-
Logger.debug("connect", "Connect resolved", result);
|
|
195
|
-
return result;
|
|
196
|
-
};
|
|
197
|
-
|
|
198
|
-
// src/outbound-methods/deposit.ts
|
|
199
|
-
var deposit = () => {
|
|
200
|
-
return state_default.remote.deposit();
|
|
201
|
-
};
|
|
202
|
-
|
|
203
|
-
// src/outbound-methods/disconnect.ts
|
|
204
|
-
var disconnect = async () => {
|
|
205
|
-
Logger.debug("disconnect", "Disconnect wallet triggered...");
|
|
206
|
-
const result = await state_default.remote.disconnect();
|
|
207
|
-
Logger.debug("disconnect", "Disconnect resolved");
|
|
208
|
-
return result;
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
// src/outbound-methods/getFromContract.ts
|
|
212
|
-
var getFromContract = async (request) => {
|
|
213
|
-
const result = await state_default.remote.getFromContract(request);
|
|
214
|
-
return result;
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
// src/outbound-methods/getPermissions.ts
|
|
218
|
-
var getPermissions = (address) => {
|
|
219
|
-
return state_default.remote.getPermissions(address);
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
// src/outbound-methods/grantPermissions.ts
|
|
223
|
-
var grantPermissions = (request) => {
|
|
224
|
-
return state_default.remote.grantPermissions(request);
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
// src/outbound-methods/manageAccount.ts
|
|
228
|
-
var manageAccount = async (request) => {
|
|
229
|
-
return state_default.remote.manageAccount(request);
|
|
230
|
-
};
|
|
231
|
-
|
|
232
|
-
// src/outbound-methods/open.ts
|
|
233
|
-
var open = async () => {
|
|
234
|
-
return state_default.remote.open();
|
|
235
|
-
};
|
|
236
|
-
|
|
237
|
-
// src/outbound-methods/revokePermissions.ts
|
|
238
|
-
var revokePermissions = () => {
|
|
239
|
-
return state_default.remote.revokePermissions();
|
|
240
|
-
};
|
|
241
|
-
|
|
242
|
-
// src/outbound-methods/send.ts
|
|
243
|
-
var send = async (request) => {
|
|
244
|
-
return state_default.remote.send(request);
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
// src/outbound-methods/signData.ts
|
|
248
|
-
var signData = (request) => {
|
|
249
|
-
return state_default.remote.signData(request);
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
// src/outbound-methods/signMessage.ts
|
|
253
|
-
var signMessage = (message) => {
|
|
254
|
-
return state_default.remote.signMessage(message);
|
|
255
|
-
};
|
|
256
|
-
|
|
257
|
-
// src/outbound-methods/status.ts
|
|
258
|
-
var status = () => {
|
|
259
|
-
return state_default.remote.status();
|
|
260
|
-
};
|
|
261
|
-
|
|
262
|
-
// src/outbound-methods/swap.ts
|
|
263
|
-
var swap = async (request) => {
|
|
264
|
-
return state_default.remote.swap(request);
|
|
265
|
-
};
|
|
266
|
-
|
|
267
|
-
// src/outbound-methods/transfer.ts
|
|
268
|
-
var transfer = (request) => {
|
|
269
|
-
return state_default.remote.transfer(request);
|
|
270
|
-
};
|
|
271
|
-
|
|
272
|
-
// src/outbound-methods/index.ts
|
|
273
|
-
var outboundMethods = {
|
|
274
|
-
status,
|
|
275
|
-
callContract,
|
|
276
|
-
connect,
|
|
277
|
-
disconnect,
|
|
278
|
-
transfer,
|
|
279
|
-
signMessage,
|
|
280
|
-
grantPermissions,
|
|
281
|
-
revokePermissions,
|
|
282
|
-
getPermissions,
|
|
283
|
-
deposit,
|
|
284
|
-
balances,
|
|
285
|
-
open,
|
|
286
|
-
signData,
|
|
287
|
-
getFromContract,
|
|
288
|
-
authenticate,
|
|
289
|
-
manageAccount,
|
|
290
|
-
send,
|
|
291
|
-
swap
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
// src/wallet.ts
|
|
295
|
-
var createIFrame = (url) => {
|
|
296
|
-
const iframe = document.createElement("iframe");
|
|
297
|
-
iframe.style.position = "fixed";
|
|
298
|
-
iframe.style.top = "0";
|
|
299
|
-
iframe.style.left = "0";
|
|
300
|
-
iframe.style.height = "100vh";
|
|
301
|
-
iframe.style.width = "100vw";
|
|
302
|
-
iframe.style.border = "none";
|
|
303
|
-
iframe.style.zIndex = "9999";
|
|
304
|
-
iframe.style.display = "none";
|
|
305
|
-
iframe.setAttribute(
|
|
306
|
-
"allow",
|
|
307
|
-
"clipboard-write; publickey-credentials-get *; publickey-credentials-create *"
|
|
308
|
-
);
|
|
309
|
-
iframe.src = url;
|
|
310
|
-
document.body.appendChild(iframe);
|
|
311
|
-
return iframe;
|
|
312
|
-
};
|
|
313
|
-
var initialise = async (config) => {
|
|
314
|
-
if (state_default.initialised) return;
|
|
315
|
-
state_default.initialised = true;
|
|
316
|
-
state_default.network = config?.network || "mainnet";
|
|
317
|
-
Logger.setLogLevel(config?.logging || "error");
|
|
318
|
-
Logger.debug("SDK", "Initialising...");
|
|
319
|
-
const { origin, uiUrl } = getWalletUrl(config);
|
|
320
|
-
state_default.iframe = createIFrame(uiUrl);
|
|
321
|
-
const messenger = new Penpal.WindowMessenger({
|
|
322
|
-
remoteWindow: state_default.iframe.contentWindow,
|
|
323
|
-
allowedOrigins: [origin]
|
|
324
|
-
});
|
|
325
|
-
return new Promise((resolve, reject) => {
|
|
326
|
-
try {
|
|
327
|
-
const connection = Penpal.connect({
|
|
328
|
-
messenger,
|
|
329
|
-
log: config?.debug ? Penpal.debug("SDK") : void 0,
|
|
330
|
-
methods: {
|
|
331
|
-
ready: async () => {
|
|
332
|
-
Logger.debug("SDK", "Initialised");
|
|
333
|
-
const status2 = await state_default.remote.status();
|
|
334
|
-
Logger.debug("SDK", `Status: ${status2.status}, Address: ${status2.address}`);
|
|
335
|
-
callbacks_default.onStatusChange?.(status2);
|
|
336
|
-
resolve(status2);
|
|
337
|
-
},
|
|
338
|
-
...inboundMethods
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
connection.promise.then((_remote) => {
|
|
342
|
-
state_default.remote = _remote;
|
|
343
|
-
});
|
|
344
|
-
} catch (e) {
|
|
345
|
-
reject(e);
|
|
346
|
-
}
|
|
347
|
-
});
|
|
348
|
-
};
|
|
349
|
-
var mega = {
|
|
350
|
-
initialise,
|
|
351
|
-
events,
|
|
352
|
-
...outboundMethods
|
|
353
|
-
};
|
|
354
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
355
|
-
0 && (module.exports = {
|
|
356
|
-
mega
|
|
357
|
-
});
|
|
1
|
+
"use strict";var j=Object.create;var g=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var X=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},y=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of J(e))!V.call(t,i)&&i!==r&&g(t,i,{get:()=>e[i],enumerable:!(n=z(e,i))||n.enumerable});return t};var Y=(t,e,r)=>(r=t!=null?j(Q(t)):{},y(e||!t||!t.__esModule?g(r,"default",{value:t,enumerable:!0}):r,t)),Z=t=>y(g({},"__esModule",{value:!0}),t);var rt={};X(rt,{mega:()=>N});module.exports=Z(rt);var l=Y(require("penpal"),1);var _,c={onStatusChange:_};var tt=t=>{c.onStatusChange=t},S={onStatusChange:tt};var b="https://account.megaeth.com",C="http://localhost:4000";var u=(t,e)=>e!==void 0&&e!==""?`${t}=${encodeURIComponent(String(e))}`:void 0,P=t=>{let e=t.devMode?C:b,r=[u("network",t.network),u("sponsorUrl",t.sponsorUrl),u("sponsorMode",t.sponsorMode),u("sponsorToken",t.sponsorToken),u("debug",t.debug),u("logging",t.logging)];t.devMode;let n=r.filter(i=>!!i);return{origin:e,uiUrl:`${e}?${n.join("&")}`}};var d=class{constructor(){this.initialised=!1}},o=new d;var R=()=>{o.iframe.style.display="none"};var w=t=>{c.onStatusChange?.(t)};var L=()=>{o.iframe.style.display="block"};var x={show:L,hide:R,setStatus:w};var a=class a{static setLogLevel(e){a.logLevel=e}static debug(e,r,n){a.log("debug",e,r,n)}static info(e,r,n){a.log("info",e,r,n)}static warn(e,r,n){a.log("warn",e,r,n)}static error(e,r,n){a.log("error",e,r,n)}static shouldLog(e){switch(a.logLevel){case"debug":return!0;case"info":return["info","warn","error"].includes(e);case"warn":return["warn","error"].includes(e);case"error":return e==="error"}}static getMessage(e,r){return`[${e}] ${r}`}static log(e,r,n,i){if(!a.shouldLog(e))return;let m=[a.getMessage(r,n)];switch(i&&m.push(i),e){case"debug":console.debug(...m);break;case"info":console.info(...m);break;case"warn":console.warn(...m);break;case"error":console.error(...m);break}}};a.logLevel="error";var s=a;var h=async()=>o.remote.authenticate();var v=async t=>o.remote.balances(t);var k=t=>o.remote.callContract(t);var T=async()=>{s.debug("connect","Connect wallet triggered...");let t=await o.remote.connect();return s.debug("connect","Connect resolved",t),t};var M=()=>o.remote.deposit();var A=async()=>{s.debug("disconnect","Disconnect wallet triggered...");let t=await o.remote.disconnect();return s.debug("disconnect","Disconnect resolved"),t};var q=async t=>await o.remote.getFromContract(t);var D=t=>o.remote.getPermissions(t);var I=t=>o.remote.grantPermissions(t);var U=async t=>o.remote.manageAccount(t);var W=async()=>o.remote.open();var F=()=>o.remote.revokePermissions();var $=async t=>o.remote.send(t);var E=t=>o.remote.signData(t);var G=t=>o.remote.signMessage(t);var O=()=>o.remote.status();var K=async t=>o.remote.swap(t);var B=t=>o.remote.transfer(t);var H={status:O,callContract:k,connect:T,disconnect:A,transfer:B,signMessage:G,grantPermissions:I,revokePermissions:F,getPermissions:D,deposit:M,balances:v,open:W,signData:E,getFromContract:q,authenticate:h,manageAccount:U,send:$,swap:K};var et=t=>{let e=document.createElement("iframe");return e.style.position="fixed",e.style.top="0",e.style.left="0",e.style.height="100vh",e.style.width="100vw",e.style.border="none",e.style.zIndex="9999",e.style.display="none",e.setAttribute("allow","clipboard-write; publickey-credentials-get *; publickey-credentials-create *"),e.src=t,document.body.appendChild(e),e},ot=async t=>{if(o.initialised)return;o.initialised=!0,o.network=t?.network||"mainnet",s.setLogLevel(t?.logging||"error"),s.debug("SDK","Initialising...");let{origin:e,uiUrl:r}=P(t);o.iframe=et(r);let n=new l.WindowMessenger({remoteWindow:o.iframe.contentWindow,allowedOrigins:[e]});return new Promise((i,f)=>{try{l.connect({messenger:n,log:t?.debug?l.debug("SDK"):void 0,methods:{ready:async()=>{s.debug("SDK","Initialised");let p=await o.remote.status();s.debug("SDK",`Status: ${p.status}, Address: ${p.address}`),c.onStatusChange?.(p),i(p)},...x}}).promise.then(p=>{o.remote=p})}catch(m){f(m)}})},N={initialise:ot,events:S,...H};0&&(module.exports={mega});
|
package/dist/index.js
CHANGED
|
@@ -1,320 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import * as Penpal from "penpal";
|
|
3
|
-
|
|
4
|
-
// src/callbacks.ts
|
|
5
|
-
var onStatusChange;
|
|
6
|
-
var callbacks_default = {
|
|
7
|
-
onStatusChange
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
// src/events.ts
|
|
11
|
-
var onStatusChange2 = (callback) => {
|
|
12
|
-
callbacks_default.onStatusChange = callback;
|
|
13
|
-
};
|
|
14
|
-
var events = {
|
|
15
|
-
onStatusChange: onStatusChange2
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
// src/consts.ts
|
|
19
|
-
var WALLET_URL = "https://account.megaeth.com";
|
|
20
|
-
var LOCAL_WALLET_URL = "http://localhost:4000";
|
|
21
|
-
|
|
22
|
-
// src/helpers.ts
|
|
23
|
-
var param = (key, value) => value !== void 0 && value !== "" ? `${key}=${encodeURIComponent(String(value))}` : void 0;
|
|
24
|
-
var getWalletUrl = (config) => {
|
|
25
|
-
const origin = (() => {
|
|
26
|
-
if (config.devMode) {
|
|
27
|
-
if (config.walletOriginUrl) return config.walletOriginUrl;
|
|
28
|
-
return LOCAL_WALLET_URL;
|
|
29
|
-
}
|
|
30
|
-
return WALLET_URL;
|
|
31
|
-
})();
|
|
32
|
-
const rawParams = [
|
|
33
|
-
param("network", config.network),
|
|
34
|
-
param("sponsorUrl", config.sponsorUrl),
|
|
35
|
-
param("sponsorMode", config.sponsorMode),
|
|
36
|
-
param("sponsorToken", config.sponsorToken),
|
|
37
|
-
param("debug", config.debug),
|
|
38
|
-
param("logging", config.logging)
|
|
39
|
-
];
|
|
40
|
-
if (config.devMode) {
|
|
41
|
-
rawParams.push(param("apiUrl", config.apiUrl));
|
|
42
|
-
rawParams.push(param("relayerUrl", config.relayerUrl));
|
|
43
|
-
}
|
|
44
|
-
const params = rawParams.filter((value) => Boolean(value));
|
|
45
|
-
return {
|
|
46
|
-
origin,
|
|
47
|
-
uiUrl: `${origin}?${params.join("&")}`
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// src/state.ts
|
|
52
|
-
var State = class {
|
|
53
|
-
constructor() {
|
|
54
|
-
this.initialised = false;
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
var state_default = new State();
|
|
58
|
-
|
|
59
|
-
// src/inbound-methods/hide.ts
|
|
60
|
-
var hide = () => {
|
|
61
|
-
state_default.iframe.style.display = "none";
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
// src/inbound-methods/setStatus.ts
|
|
65
|
-
var setStatus = (status2) => {
|
|
66
|
-
callbacks_default.onStatusChange?.(status2);
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
// src/inbound-methods/show.ts
|
|
70
|
-
var show = () => {
|
|
71
|
-
state_default.iframe.style.display = "block";
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
// src/inbound-methods/index.ts
|
|
75
|
-
var inboundMethods = {
|
|
76
|
-
show,
|
|
77
|
-
hide,
|
|
78
|
-
setStatus
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// src/logger.ts
|
|
82
|
-
var _Logger = class _Logger {
|
|
83
|
-
static setLogLevel(level) {
|
|
84
|
-
_Logger.logLevel = level;
|
|
85
|
-
}
|
|
86
|
-
static debug(module, message, data) {
|
|
87
|
-
_Logger.log("debug", module, message, data);
|
|
88
|
-
}
|
|
89
|
-
static info(module, message, data) {
|
|
90
|
-
_Logger.log("info", module, message, data);
|
|
91
|
-
}
|
|
92
|
-
static warn(module, message, data) {
|
|
93
|
-
_Logger.log("warn", module, message, data);
|
|
94
|
-
}
|
|
95
|
-
static error(module, message, data) {
|
|
96
|
-
_Logger.log("error", module, message, data);
|
|
97
|
-
}
|
|
98
|
-
static shouldLog(level) {
|
|
99
|
-
switch (_Logger.logLevel) {
|
|
100
|
-
case "debug":
|
|
101
|
-
return true;
|
|
102
|
-
case "info":
|
|
103
|
-
return ["info", "warn", "error"].includes(level);
|
|
104
|
-
case "warn":
|
|
105
|
-
return ["warn", "error"].includes(level);
|
|
106
|
-
case "error":
|
|
107
|
-
return level === "error";
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
static getMessage(module, message) {
|
|
111
|
-
return `[${module}] ${message}`;
|
|
112
|
-
}
|
|
113
|
-
static log(level, module, message, data) {
|
|
114
|
-
if (!_Logger.shouldLog(level)) return;
|
|
115
|
-
const formattedMessage = _Logger.getMessage(module, message);
|
|
116
|
-
const params = [formattedMessage];
|
|
117
|
-
if (data) {
|
|
118
|
-
params.push(data);
|
|
119
|
-
}
|
|
120
|
-
switch (level) {
|
|
121
|
-
case "debug":
|
|
122
|
-
console.debug(...params);
|
|
123
|
-
break;
|
|
124
|
-
case "info":
|
|
125
|
-
console.info(...params);
|
|
126
|
-
break;
|
|
127
|
-
case "warn":
|
|
128
|
-
console.warn(...params);
|
|
129
|
-
break;
|
|
130
|
-
case "error":
|
|
131
|
-
console.error(...params);
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
_Logger.logLevel = "error";
|
|
137
|
-
var Logger = _Logger;
|
|
138
|
-
|
|
139
|
-
// src/outbound-methods/authenticate.ts
|
|
140
|
-
var authenticate = async () => {
|
|
141
|
-
return state_default.remote.authenticate();
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
// src/outbound-methods/balances.ts
|
|
145
|
-
var balances = async (request) => {
|
|
146
|
-
return state_default.remote.balances(request);
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
// src/outbound-methods/callContract.ts
|
|
150
|
-
var callContract = (request) => {
|
|
151
|
-
return state_default.remote.callContract(request);
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
// src/outbound-methods/connect.ts
|
|
155
|
-
var connect = async () => {
|
|
156
|
-
Logger.debug("connect", "Connect wallet triggered...");
|
|
157
|
-
const result = await state_default.remote.connect();
|
|
158
|
-
Logger.debug("connect", "Connect resolved", result);
|
|
159
|
-
return result;
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
// src/outbound-methods/deposit.ts
|
|
163
|
-
var deposit = () => {
|
|
164
|
-
return state_default.remote.deposit();
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
// src/outbound-methods/disconnect.ts
|
|
168
|
-
var disconnect = async () => {
|
|
169
|
-
Logger.debug("disconnect", "Disconnect wallet triggered...");
|
|
170
|
-
const result = await state_default.remote.disconnect();
|
|
171
|
-
Logger.debug("disconnect", "Disconnect resolved");
|
|
172
|
-
return result;
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
// src/outbound-methods/getFromContract.ts
|
|
176
|
-
var getFromContract = async (request) => {
|
|
177
|
-
const result = await state_default.remote.getFromContract(request);
|
|
178
|
-
return result;
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
// src/outbound-methods/getPermissions.ts
|
|
182
|
-
var getPermissions = (address) => {
|
|
183
|
-
return state_default.remote.getPermissions(address);
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
// src/outbound-methods/grantPermissions.ts
|
|
187
|
-
var grantPermissions = (request) => {
|
|
188
|
-
return state_default.remote.grantPermissions(request);
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
// src/outbound-methods/manageAccount.ts
|
|
192
|
-
var manageAccount = async (request) => {
|
|
193
|
-
return state_default.remote.manageAccount(request);
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
// src/outbound-methods/open.ts
|
|
197
|
-
var open = async () => {
|
|
198
|
-
return state_default.remote.open();
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
// src/outbound-methods/revokePermissions.ts
|
|
202
|
-
var revokePermissions = () => {
|
|
203
|
-
return state_default.remote.revokePermissions();
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
// src/outbound-methods/send.ts
|
|
207
|
-
var send = async (request) => {
|
|
208
|
-
return state_default.remote.send(request);
|
|
209
|
-
};
|
|
210
|
-
|
|
211
|
-
// src/outbound-methods/signData.ts
|
|
212
|
-
var signData = (request) => {
|
|
213
|
-
return state_default.remote.signData(request);
|
|
214
|
-
};
|
|
215
|
-
|
|
216
|
-
// src/outbound-methods/signMessage.ts
|
|
217
|
-
var signMessage = (message) => {
|
|
218
|
-
return state_default.remote.signMessage(message);
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
// src/outbound-methods/status.ts
|
|
222
|
-
var status = () => {
|
|
223
|
-
return state_default.remote.status();
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
// src/outbound-methods/swap.ts
|
|
227
|
-
var swap = async (request) => {
|
|
228
|
-
return state_default.remote.swap(request);
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
// src/outbound-methods/transfer.ts
|
|
232
|
-
var transfer = (request) => {
|
|
233
|
-
return state_default.remote.transfer(request);
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
// src/outbound-methods/index.ts
|
|
237
|
-
var outboundMethods = {
|
|
238
|
-
status,
|
|
239
|
-
callContract,
|
|
240
|
-
connect,
|
|
241
|
-
disconnect,
|
|
242
|
-
transfer,
|
|
243
|
-
signMessage,
|
|
244
|
-
grantPermissions,
|
|
245
|
-
revokePermissions,
|
|
246
|
-
getPermissions,
|
|
247
|
-
deposit,
|
|
248
|
-
balances,
|
|
249
|
-
open,
|
|
250
|
-
signData,
|
|
251
|
-
getFromContract,
|
|
252
|
-
authenticate,
|
|
253
|
-
manageAccount,
|
|
254
|
-
send,
|
|
255
|
-
swap
|
|
256
|
-
};
|
|
257
|
-
|
|
258
|
-
// src/wallet.ts
|
|
259
|
-
var createIFrame = (url) => {
|
|
260
|
-
const iframe = document.createElement("iframe");
|
|
261
|
-
iframe.style.position = "fixed";
|
|
262
|
-
iframe.style.top = "0";
|
|
263
|
-
iframe.style.left = "0";
|
|
264
|
-
iframe.style.height = "100vh";
|
|
265
|
-
iframe.style.width = "100vw";
|
|
266
|
-
iframe.style.border = "none";
|
|
267
|
-
iframe.style.zIndex = "9999";
|
|
268
|
-
iframe.style.display = "none";
|
|
269
|
-
iframe.setAttribute(
|
|
270
|
-
"allow",
|
|
271
|
-
"clipboard-write; publickey-credentials-get *; publickey-credentials-create *"
|
|
272
|
-
);
|
|
273
|
-
iframe.src = url;
|
|
274
|
-
document.body.appendChild(iframe);
|
|
275
|
-
return iframe;
|
|
276
|
-
};
|
|
277
|
-
var initialise = async (config) => {
|
|
278
|
-
if (state_default.initialised) return;
|
|
279
|
-
state_default.initialised = true;
|
|
280
|
-
state_default.network = config?.network || "mainnet";
|
|
281
|
-
Logger.setLogLevel(config?.logging || "error");
|
|
282
|
-
Logger.debug("SDK", "Initialising...");
|
|
283
|
-
const { origin, uiUrl } = getWalletUrl(config);
|
|
284
|
-
state_default.iframe = createIFrame(uiUrl);
|
|
285
|
-
const messenger = new Penpal.WindowMessenger({
|
|
286
|
-
remoteWindow: state_default.iframe.contentWindow,
|
|
287
|
-
allowedOrigins: [origin]
|
|
288
|
-
});
|
|
289
|
-
return new Promise((resolve, reject) => {
|
|
290
|
-
try {
|
|
291
|
-
const connection = Penpal.connect({
|
|
292
|
-
messenger,
|
|
293
|
-
log: config?.debug ? Penpal.debug("SDK") : void 0,
|
|
294
|
-
methods: {
|
|
295
|
-
ready: async () => {
|
|
296
|
-
Logger.debug("SDK", "Initialised");
|
|
297
|
-
const status2 = await state_default.remote.status();
|
|
298
|
-
Logger.debug("SDK", `Status: ${status2.status}, Address: ${status2.address}`);
|
|
299
|
-
callbacks_default.onStatusChange?.(status2);
|
|
300
|
-
resolve(status2);
|
|
301
|
-
},
|
|
302
|
-
...inboundMethods
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
connection.promise.then((_remote) => {
|
|
306
|
-
state_default.remote = _remote;
|
|
307
|
-
});
|
|
308
|
-
} catch (e) {
|
|
309
|
-
reject(e);
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
};
|
|
313
|
-
var mega = {
|
|
314
|
-
initialise,
|
|
315
|
-
events,
|
|
316
|
-
...outboundMethods
|
|
317
|
-
};
|
|
318
|
-
export {
|
|
319
|
-
mega
|
|
320
|
-
};
|
|
1
|
+
import*as l from"penpal";var B,c={onStatusChange:B};var H=t=>{c.onStatusChange=t},f={onStatusChange:H};var y="https://account.megaeth.com",S="http://localhost:4000";var u=(t,o)=>o!==void 0&&o!==""?`${t}=${encodeURIComponent(String(o))}`:void 0,b=t=>{let o=t.devMode?S:y,r=[u("network",t.network),u("sponsorUrl",t.sponsorUrl),u("sponsorMode",t.sponsorMode),u("sponsorToken",t.sponsorToken),u("debug",t.debug),u("logging",t.logging)];t.devMode;let n=r.filter(m=>!!m);return{origin:o,uiUrl:`${o}?${n.join("&")}`}};var g=class{constructor(){this.initialised=!1}},e=new g;var C=()=>{e.iframe.style.display="none"};var P=t=>{c.onStatusChange?.(t)};var R=()=>{e.iframe.style.display="block"};var w={show:R,hide:C,setStatus:P};var i=class i{static setLogLevel(o){i.logLevel=o}static debug(o,r,n){i.log("debug",o,r,n)}static info(o,r,n){i.log("info",o,r,n)}static warn(o,r,n){i.log("warn",o,r,n)}static error(o,r,n){i.log("error",o,r,n)}static shouldLog(o){switch(i.logLevel){case"debug":return!0;case"info":return["info","warn","error"].includes(o);case"warn":return["warn","error"].includes(o);case"error":return o==="error"}}static getMessage(o,r){return`[${o}] ${r}`}static log(o,r,n,m){if(!i.shouldLog(o))return;let a=[i.getMessage(r,n)];switch(m&&a.push(m),o){case"debug":console.debug(...a);break;case"info":console.info(...a);break;case"warn":console.warn(...a);break;case"error":console.error(...a);break}}};i.logLevel="error";var s=i;var L=async()=>e.remote.authenticate();var x=async t=>e.remote.balances(t);var h=t=>e.remote.callContract(t);var v=async()=>{s.debug("connect","Connect wallet triggered...");let t=await e.remote.connect();return s.debug("connect","Connect resolved",t),t};var k=()=>e.remote.deposit();var T=async()=>{s.debug("disconnect","Disconnect wallet triggered...");let t=await e.remote.disconnect();return s.debug("disconnect","Disconnect resolved"),t};var M=async t=>await e.remote.getFromContract(t);var A=t=>e.remote.getPermissions(t);var q=t=>e.remote.grantPermissions(t);var D=async t=>e.remote.manageAccount(t);var I=async()=>e.remote.open();var U=()=>e.remote.revokePermissions();var W=async t=>e.remote.send(t);var F=t=>e.remote.signData(t);var $=t=>e.remote.signMessage(t);var E=()=>e.remote.status();var G=async t=>e.remote.swap(t);var O=t=>e.remote.transfer(t);var K={status:E,callContract:h,connect:v,disconnect:T,transfer:O,signMessage:$,grantPermissions:q,revokePermissions:U,getPermissions:A,deposit:k,balances:x,open:I,signData:F,getFromContract:M,authenticate:L,manageAccount:D,send:W,swap:G};var N=t=>{let o=document.createElement("iframe");return o.style.position="fixed",o.style.top="0",o.style.left="0",o.style.height="100vh",o.style.width="100vw",o.style.border="none",o.style.zIndex="9999",o.style.display="none",o.setAttribute("allow","clipboard-write; publickey-credentials-get *; publickey-credentials-create *"),o.src=t,document.body.appendChild(o),o},j=async t=>{if(e.initialised)return;e.initialised=!0,e.network=t?.network||"mainnet",s.setLogLevel(t?.logging||"error"),s.debug("SDK","Initialising...");let{origin:o,uiUrl:r}=b(t);e.iframe=N(r);let n=new l.WindowMessenger({remoteWindow:e.iframe.contentWindow,allowedOrigins:[o]});return new Promise((m,d)=>{try{l.connect({messenger:n,log:t?.debug?l.debug("SDK"):void 0,methods:{ready:async()=>{s.debug("SDK","Initialised");let p=await e.remote.status();s.debug("SDK",`Status: ${p.status}, Address: ${p.address}`),c.onStatusChange?.(p),m(p)},...w}}).promise.then(p=>{e.remote=p})}catch(a){d(a)}})},z={initialise:j,events:f,...K};export{z as mega};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@megaeth-labs/wallet-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"description": "MegaETH Wallet SDK for web applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
19
|
"scripts": {
|
|
20
|
-
"build": "tsup src/index.ts --format cjs,esm --dts --clean",
|
|
20
|
+
"build": "tsup src/index.ts --format cjs,esm --dts --clean --minify",
|
|
21
21
|
"dev": "tsup src/index.ts --format cjs,esm --dts --watch",
|
|
22
22
|
"dev:link": "pnpm build && pnpm link --global",
|
|
23
23
|
"test": "vitest",
|