@dappworks/kit 0.5.43 → 0.5.45
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/aiem.mjs +2 -2
- package/dist/{chunk-YBLCIJW4.mjs → chunk-5KJLNQQ4.mjs} +13 -9
- package/dist/chunk-5KJLNQQ4.mjs.map +1 -0
- package/dist/{chunk-L5VZQRXB.mjs → chunk-DSRTQO5D.mjs} +3 -3
- package/dist/{chunk-L5VZQRXB.mjs.map → chunk-DSRTQO5D.mjs.map} +1 -1
- package/dist/{chunk-WNK4WSTE.mjs → chunk-K7Z7CLO2.mjs} +18 -5
- package/dist/chunk-K7Z7CLO2.mjs.map +1 -0
- package/dist/dev.mjs +1 -1
- package/dist/form.mjs +1 -1
- package/dist/index.mjs +3 -3
- package/dist/utils.d.mts +2 -2
- package/dist/utils.mjs +1 -1
- package/dist/wallet.d.mts +2 -1
- package/dist/wallet.mjs +23 -31
- package/dist/wallet.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-WNK4WSTE.mjs.map +0 -1
- package/dist/chunk-YBLCIJW4.mjs.map +0 -1
package/dist/aiem.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { AIem, Cache, Fields, iotexBabelNightly } from './chunk-
|
|
1
|
+
export { AIem, Cache, Fields, iotexBabelNightly } from './chunk-DSRTQO5D.mjs';
|
|
2
2
|
import './chunk-NCGC2KDE.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-5KJLNQQ4.mjs';
|
|
4
4
|
import './chunk-K7LFG5BA.mjs';
|
|
5
5
|
import './chunk-YOSPWY5K.mjs';
|
|
6
6
|
//# sourceMappingURL=aiem.mjs.map
|
|
@@ -10,14 +10,18 @@ var valMap = {
|
|
|
10
10
|
null: "",
|
|
11
11
|
false: false
|
|
12
12
|
};
|
|
13
|
-
var _a, _b, _c, _d;
|
|
14
13
|
var helper = {
|
|
15
14
|
env: {
|
|
16
|
-
isBrower
|
|
17
|
-
|
|
15
|
+
isBrower() {
|
|
16
|
+
return typeof window !== "undefined";
|
|
17
|
+
},
|
|
18
|
+
isIopayMobile() {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
return typeof window !== "undefined" && ((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.toLowerCase().includes("iopay"));
|
|
21
|
+
},
|
|
18
22
|
isPc() {
|
|
19
|
-
var
|
|
20
|
-
const userAgentInfo = typeof window === "undefined" ? "" : (
|
|
23
|
+
var _a;
|
|
24
|
+
const userAgentInfo = typeof window === "undefined" ? "" : (_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent;
|
|
21
25
|
const Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
|
|
22
26
|
let flag = true;
|
|
23
27
|
for (let v = 0; v < Agents.length; v++) {
|
|
@@ -262,7 +266,7 @@ var helper = {
|
|
|
262
266
|
//http://numeraljs.com/ format params does not need to deal with decimal places
|
|
263
267
|
//format: '$0,0' '0a' '0,0' '0,0$'
|
|
264
268
|
numberFormat(str, format = "0,0", options = {}) {
|
|
265
|
-
var
|
|
269
|
+
var _a, _b;
|
|
266
270
|
const { fallback = "0.00" } = options || {};
|
|
267
271
|
if (!str || isNaN(Number(str))) return fallback;
|
|
268
272
|
const numStr = new BigNumber(str).toFixed();
|
|
@@ -291,7 +295,7 @@ var helper = {
|
|
|
291
295
|
}
|
|
292
296
|
const fullStr = new BigNumber(numStr).toFixed();
|
|
293
297
|
let preStr = numeral(fullStr.split(".")[0]).format(format.split(".")[0]);
|
|
294
|
-
const fractionStr = (
|
|
298
|
+
const fractionStr = (_b = (_a = fullStr.split(".")) == null ? void 0 : _a[1]) == null ? void 0 : _b.slice(0, fractionDigits + numberFractionDigits);
|
|
295
299
|
if (numberFractionDigits >= fractionDigits) {
|
|
296
300
|
return (preStr + "." + fractionStr).replace(/\.?0+$/, "");
|
|
297
301
|
}
|
|
@@ -322,5 +326,5 @@ var helper = {
|
|
|
322
326
|
};
|
|
323
327
|
|
|
324
328
|
export { helper };
|
|
325
|
-
//# sourceMappingURL=chunk-
|
|
326
|
-
//# sourceMappingURL=chunk-
|
|
329
|
+
//# sourceMappingURL=chunk-5KJLNQQ4.mjs.map
|
|
330
|
+
//# sourceMappingURL=chunk-5KJLNQQ4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../lib/helper.ts"],"names":[],"mappings":";;;;;;;AAOA,IAAM,MAAA,GAAS;AAAA,EACb,SAAA,EAAW,EAAA;AAAA,EACX,IAAA,EAAM,EAAA;AAAA,EACN,KAAA,EAAO;AACT,CAAA;AAEO,IAAM,MAAA,GAAS;AAAA,EACpB,GAAA,EAAK;AAAA,IACH,QAAA,GAAW;AACT,MAAA,OAAO,OAAO,MAAA,KAAW,WAAA;AAAA,IAC3B,CAAA;AAAA,IACA,aAAA,GAAgB;AAlBpB,MAAA,IAAA,EAAA,EAAA,EAAA;AAmBM,MAAA,OAAO,OAAO,WAAW,WAAA,KAAA,CAAe,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAO,cAAP,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,SAAA,KAAlB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA6B,WAAA,EAAA,CAAc,QAAA,CAAS,OAAA,CAAA,CAAA;AAAA,IAC9F,CAAA;AAAA,IACA,IAAA,GAAO;AArBX,MAAA,IAAA,EAAA;AAsBM,MAAA,MAAM,gBAAgB,OAAO,MAAA,KAAW,cAAc,EAAA,GAAA,CAAK,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,cAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAmB,SAAA;AAC9E,MAAA,MAAM,SAAS,CAAC,SAAA,EAAW,UAAU,WAAA,EAAa,eAAA,EAAiB,QAAQ,MAAM,CAAA;AACjF,MAAA,IAAI,IAAA,GAAO,IAAA;AACX,MAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,QAAQ,CAAA,EAAA,EAAK;AACtC,QAAA,IAAA,CAAI,+CAAe,OAAA,CAAQ,MAAA,CAAO,CAAC,CAAA,IAAK,OAAM,CAAA,EAAG;AAC/C,UAAA,IAAA,GAAO,KAAA;AACP,UAAA;AAAA,QACF;AAAA,MACF;AACA,MAAA,OAAO,IAAA;AAAA,IACT,CAAA;AAAA,IACA,UAAA,GAAa;AACX,MAAA,IAAI;AACF,QAAA,IAAI,OAAO,MAAA,KAAW,WAAA,EAAa,OAAO,KAAA;AAC1C,QAAA,OAAO,MAAA,CAAO,SAAS,MAAA,CAAO,GAAA;AAAA,MAChC,SAAS,CAAA,EAAG;AACV,QAAA,OAAO,IAAA;AAAA,MACT;AAAA,IACF;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AAAA,IACP,MAAM,MAAM,EAAA,EAAI;AACd,MAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,YAAY,UAAA,CAAW,OAAA,EAAS,EAAE,CAAC,CAAA;AAAA,IACzD,CAAA;AAAA,IACA,MAAM,SAAuB,OAAA,EAAoD;AAC/E,MAAA,OAAO,OAAA,CAAQ,IAAA,CAAgB,CAAC,IAAA,KAAY,CAAC,IAAA,EAAM,IAAI,CAAC,CAAA,CAAE,MAAiB,CAAC,GAAA,KAAQ,CAAC,GAAA,EAAK,IAAI,CAAC,CAAA;AAAA,IACjG;AAAA,GACF;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,WAAA,CAAY,QAAQ,OAAA,EAAS;AAC3B,MAAA,MAAM,SAAS,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,SAAA,CAAU,MAAM,CAAC,CAAA;AAChD,MAAA,OAAO,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,MAAA,EAAQ,OAAO,CAAA;AAAA,IAC5C,CAAA;AAAA,IACA,KAAA,CAAM,QAAQ,OAAA,EAAS;AACrB,MAAA,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA,KAAM;AACjC,QAAA,IAAI,OAAO,MAAA,CAAO,CAAC,CAAA,KAAM,QAAA,EAAU;AACjC,UAAA,MAAA,CAAO,MAAA,CAAO,KAAA,CAAM,MAAA,CAAO,CAAC,GAAG,OAAO,CAAA;AAAA,QACxC,CAAA,MAAO;AACL,UAAA,MAAM,OAAA,GAAU,OAAA,CAAQ,OAAO,MAAA,CAAO,CAAC,CAAC,CAAA;AACxC,UAAA,IAAI,OAAA,EAAS;AACX,YAAA,MAAA,CAAO,CAAC,CAAA,GAAI,OAAA,CAAQ,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AACD,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,aAAa,GAAA,EAAa;AACxB,MAAA,IAAI,CAAC,GAAA,IAAO,OAAO,GAAA,KAAQ,UAAU,OAAO,KAAA;AAC5C,MAAA,IAAI,EAAC,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,QAAA,CAAS,GAAA,CAAA,CAAA,EAAM,OAAO,KAAA;AAChC,MAAA,IAAI;AACF,QAAA,IAAA,CAAK,MAAM,GAAG,CAAA;AAAA,MAChB,SAAS,CAAA,EAAG;AACV,QAAA,OAAO,KAAA;AAAA,MACT;AACA,MAAA,OAAO,IAAA;AAAA,IACT,CAAA;AAAA,IACA,UAAU,GAAA,EAAU;AAClB,MAAA,IAAI;AACF,QAAA,OAAO,IAAA,CAAK,MAAM,GAAG,CAAA;AAAA,MACvB,SAAS,KAAA,EAAO;AACd,QAAA,OAAO,GAAA;AAAA,MACT;AAAA,IACF;AAAA,GACF;AAAA,EACA,UAAA,CAAW,WAAW,OAAA,EAAS;AAC7B,IAAA,OAAA,CAAQ,OAAA,CAAQ,CAAC,MAAA,KAAW;AAC1B,MAAA,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAE,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACnC,QAAA,IAAI,UAAA,GAAa,MAAA,CAAO,wBAAA,CAAyB,MAAA,EAAQ,GAAG,CAAA;AAC5D,QAAA,IAAI,UAAA,KAAc,yCAAY,GAAA,CAAA,EAAK;AACjC,UAAA,OAAO,MAAA,CAAO,cAAA,CAAe,MAAA,EAAQ,GAAA,EAAK,UAAU,CAAA;AAAA,QACtD;AACA,QAAA,MAAM,WAAA,GAAc,OAAO,GAAG,CAAA;AAC9B,QAAA,IAAI,WAAA,GAAc,OAAO,GAAG,CAAA;AAC5B,QAAA,IAAI,OAAO,QAAA,CAAS,WAAW,KAAK,MAAA,CAAO,QAAA,CAAS,WAAW,CAAA,EAAG;AAChE,UAAA,IAAI;AACF,YAAA,MAAA,CAAO,GAAG,CAAA,GAAI,MAAA,CAAO,UAAA,CAAW,aAAa,WAAW,CAAA;AAAA,UAC1D,SAAS,CAAA,EAAG;AACV,YAAA,MAAA,CAAO,GAAG,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,aAAa,WAAW,CAAA;AAAA,UACtD;AAAA,QACF,CAAA,MAAO;AACL,UAAA,MAAA,CAAO,GAAG,CAAA,GAAI,WAAA;AAAA,QAChB;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AACD,IAAA,OAAO,MAAA;AAAA,EACT,CAAA;AAAA,EACA,SAAS,KAAA,EAAO;AACd,IAAA,OAAO,KAAA,IAAS,IAAA,IAAQ,OAAO,KAAA,KAAU,QAAA;AAAA,EAC3C,CAAA;AAAA,EACA,SAAA,CAAU,KAAK,MAAA,EAAQ;AACrB,IAAA,MAAM,SAAS,CAAA,CAAE,SAAA,CAAU,GAAA,EAAK,MAAA,EAAQ,IAAI,IAAA,KAAS;AACnD,MAAA,MAAM,CAAC,QAAA,EAAU,QAAQ,CAAA,GAAI,IAAA;AAC7B,MAAA,IAAI,OAAO,aAAa,QAAA,EAAU;AAChC,QAAA,OAAO,MAAA,CAAO,SAAA,CAAU,QAAA,EAAU,QAAQ,CAAA;AAAA,MAC5C;AACA,MAAA,OAAO,QAAA,IAAY,OAAO,QAAQ,CAAA;AAAA,IACpC,CAAC,CAAA;AACD,IAAA,OAAO,MAAA;AAAA,EACT,CAAA;AAAA,EACA,GAAA,EAAK;AAAA,IACH,MAAM,GAAA,EAAyB;AAC7B,MAAA,IAAI,CAAC,KAAK,OAAO,cAAA;AACjB,MAAA,IAAI,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,WAAW,MAAA,CAAA,EAAS;AAC3B,QAAA,OAAO,uBAAA,GAA0B,GAAA,CAAI,KAAA,CAAM,KAAK,EAAE,CAAC,CAAA;AAAA,MACrD;AACA,MAAA,OAAO,GAAA;AAAA,IACT;AAAA,GACF;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,KAAK,GAAA,EAAa;AAChB,MAAA,IAAA,CAAK,GAAG,CAAA;AAAA,IACV,CAAA;AAAA,IACA,WAAW,GAAA,EAAa;AACtB,MAAA,OAAO,GAAA,CAAI,OAAO,CAAC,CAAA,CAAE,aAAY,GAAI,GAAA,CAAI,MAAM,CAAC,CAAA;AAAA,IAClD,CAAA;AAAA,IACA,eAAe,GAAA,EAAa;AAC1B,MAAA,OAAO,IAAI,OAAA,CAAQ,KAAA,EAAO,CAAC,CAAA,KAAM,CAAA,CAAE,aAAa,CAAA;AAAA,IAClD,CAAA;AAAA,IACA,WAAA,CAAY,KAAK,MAAA,EAAQ;AACvB,MAAA,IAAI,GAAA,IAAO,GAAA,CAAI,MAAA,GAAS,MAAA,EAAQ;AAC9B,QAAA,OAAO,GAAA,CAAI,MAAA,CAAO,CAAA,EAAG,MAAM,CAAA,GAAI,KAAA;AAAA,MACjC,CAAA,MAAO;AACL,QAAA,OAAO,GAAA;AAAA,MACT;AAAA,IACF,CAAA;AAAA,IACA,QAAA,CAAS,OAAA,GAAU,EAAA,EAAI,MAAA,EAAQ,SAAA,EAAW;AACxC,MAAA,IAAI,OAAA,CAAQ,MAAA,IAAU,MAAA,EAAQ,OAAO,OAAA;AAErC,MAAA,SAAA,GAAY,SAAA,IAAa,KAAA;AAEzB,MAAA,IAAI,SAAS,SAAA,CAAU,MAAA,EACrB,WAAA,GAAc,MAAA,GAAS,QACvB,UAAA,GAAa,IAAA,CAAK,IAAA,CAAK,WAAA,GAAc,CAAC,CAAA,EACtC,SAAA,GAAY,IAAA,CAAK,KAAA,CAAM,cAAc,CAAC,CAAA;AAExC,MAAA,OAAO,OAAA,CAAQ,MAAA,CAAO,CAAA,EAAG,UAAU,CAAA,GAAI,YAAY,OAAA,CAAQ,MAAA,CAAO,OAAA,CAAQ,MAAA,GAAS,SAAS,CAAA;AAAA,IAC9F,CAAA;AAAA,IACA,SAAS,GAAA,EAA8C;AACrD,MAAA,IAAI;AACF,QAAA,IAAA,CAAK,MAAM,GAAG,CAAA;AACd,QAAA,MAAM,IAAA,GAAO,MAAA,CAAO,IAAA,CAAK,SAAA,CAAU,GAAG,CAAA;AACtC,QAAA,IAAI,CAAC,IAAA,EAAM;AACT,UAAA,OAAO,EAAE,GAAA,EAAK,EAAC,EAAG,SAAS,EAAA,EAAG;AAAA,QAChC;AACA,QAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACvB,UAAA,OAAO,EAAE,GAAA,EAAK,IAAA,EAAM,OAAA,EAAS,EAAA,EAAG;AAAA,QAClC,CAAA,MAAA,IAAW,IAAA,CAAK,GAAA,IAAO,IAAA,CAAK,OAAA,EAAS;AACnC,UAAA,OAAO,EAAE,GAAA,EAAK,IAAA,CAAK,GAAA,EAAK,OAAA,EAAS,KAAK,OAAA,EAAQ;AAAA,QAChD,CAAA,MAAA,IAAW,IAAA,CAAK,GAAA,IAAO,CAAC,KAAK,SAAA,EAAW;AACtC,UAAA,OAAO,EAAE,GAAA,EAAK,IAAA,CAAK,GAAA,EAAK,SAAS,EAAA,EAAG;AAAA,QACtC;AACA,QAAA,OAAO,EAAE,GAAA,EAAK,EAAC,EAAG,SAAS,EAAA,EAAG;AAAA,MAChC,SAAS,KAAA,EAAO;AACd,QAAA,OAAO,EAAE,GAAA,EAAK,EAAC,EAAG,SAAS,EAAA,EAAG;AAAA,MAChC;AAAA,IACF,CAAA;AAAA,IACA,OAAO,KAAA,EAAe;AACpB,MAAA,MAAM,KAAA,GAAQ,4BAAA;AACd,MAAA,IAAI,MAAA,GAAS,EAAA;AACb,MAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,KAAA,EAAO,CAAA,EAAA,EAAK;AAC9B,QAAA,MAAA,IAAU,KAAA,CAAM,OAAO,IAAA,CAAK,KAAA,CAAM,KAAK,MAAA,EAAO,GAAI,KAAA,CAAM,MAAM,CAAC,CAAA;AAAA,MACjE;AACA,MAAA,OAAO,MAAA;AAAA,IACT;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,cAAA,CAAe,MAAc,IAAA,EAAY;AACvC,MAAA,MAAM,CAAA,GAAI,QAAA,CAAS,aAAA,CAAc,GAAG,CAAA;AACpC,MAAA,MAAM,IAAA,GAAO,MAAA,CAAO,GAAA,CAAI,eAAA,CAAgB,IAAI,CAAA;AAC5C,MAAA,CAAA,CAAE,IAAA,GAAO,IAAA;AACT,MAAA,CAAA,CAAE,QAAA,GAAW,IAAA;AACb,MAAA,CAAA,CAAE,KAAA,EAAM;AAAA,IACV,CAAA;AAAA,IACA,YAAA,CAAa,MAAc,OAAA,EAAiB;AAC1C,MAAA,IAAI;AACF,QAAA,MAAM,OAAA,GAAkB,WAAW,OAAO,CAAA;AAC1C,QAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,CAAC,OAAO,CAAA,EAAG,EAAE,IAAA,EAAM,kBAAA,EAAoB,CAAA;AAC7D,QAAA,IAAA,CAAK,cAAA,CAAe,IAAA,GAAO,OAAA,EAAS,IAAI,CAAA;AAAA,MAC1C,SAAS,KAAA,EAAO;AACd,QAAA,OAAA,CAAQ,MAAM,KAAK,CAAA;AAAA,MACrB;AAAA,IACF;AAAA,GACF;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,mBAAA,EAAqB,CAAC,GAAA,KAAgB;AACpC,MAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,MAAA,MAAM,SAAS,GAAA,CAAI,MAAA;AACnB,MAAA,OAAO,KAAA,GAAQ,MAAA,KAAW,GAAA,CAAI,KAAK,CAAA,KAAM,GAAA,IAAO,GAAA,CAAI,KAAK,CAAA,KAAM,GAAA,CAAA,EAAM,KAAA,IAAS,CAAA,EAAE;AAChF,MAAA,OAAO,SAAS,KAAA,GAAQ,MAAA,CAAO,GAAA,CAAI,QAAA,CAAS,GAAG,CAAC,CAAA;AAAA,IAClD,CAAA;AAAA,IACA,iBAAiB,GAAA,EAAa;AAC5B,MAAA,OAAO,GAAA,CAAI,QAAA,EAAS,CAAE,OAAA,CAAQ,yBAAyB,GAAG,CAAA;AAAA,IAC5D,CAAA;AAAA,IACA,KAAA,EAAO,CAAC,KAAA,KAAgC;AACtC,MAAA,OAAO,KAAA,YAAiB,EAAA,GAAK,KAAA,GAAQ,OAAO,UAAU,QAAA,GAAW,IAAI,EAAA,CAAG,MAAA,CAAO,KAAK,CAAC,CAAA,GAAI,IAAI,GAAG,KAAK,CAAA;AAAA,IACvG,CAAA;AAAA,IACA,gBAAA,EAAkB,CAAC,GAAA,EAAsB,OAAA,KAA8E;AACrH,MAAA,MAAM,EAAE,WAAW,CAAA,EAAG,MAAA,GAAS,IAAI,aAAA,GAAgB,KAAA,EAAM,GAAI,OAAA,IAAW,EAAC;AACzE,MAAA,IAAI,CAAC,GAAA,IAAO,KAAA,CAAM,OAAO,GAAG,CAAC,GAAG,OAAO,EAAA;AAEvC,MAAA,IAAI,MAAA,CAAO,MAAA,CAAO,mBAAA,CAAoB,MAAA,CAAO,GAAG,CAAC,CAAA,IAAK,QAAA,EAAU,OAAO,MAAA,CAAO,GAAG,CAAA;AACjF,MAAA,MAAM,MAAA,GAAS,IAAI,EAAA,CAAG,GAAG,EAAE,OAAA,EAAQ;AACnC,MAAA,IAAI,MAAA,GAAS,EAAA;AACb,MAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,MAAA,MAAM,YAAY,MAAA,CAAO,MAAA;AAEzB,MAAA,OAAO,OAAO,KAAK,CAAA,KAAM,OAAO,KAAA,GAAQ,SAAA,EAAW,SAAS,CAAA,EAAE;AAE9D,MAAA,IAAI,KAAA,KAAU,WAAW,OAAO,GAAA;AAEhC,MAAA,IAAI,MAAA,CAAO,KAAK,CAAA,KAAM,GAAA,EAAK;AAEzB,QAAA,MAAA,GAAS,GAAA;AACT,QAAA,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAA,KAAM,GAAA,IAAO,MAAA,CAAO,KAAK,CAAA,KAAM,GAAA,KAAQ,KAAA,GAAQ,SAAA,EAAW,KAAA,IAAS,CAAA,EAAG;AACxF,UAAA,MAAA,GAAS,MAAA,GAAS,OAAO,KAAK,CAAA;AAAA,QAChC;AAAA,MACF;AACA,MAAA,IAAI,eAAA,GAAkB,CAAA;AACtB,MAAA,OAAO,KAAA,GAAQ,SAAA,KAAc,eAAA,GAAkB,QAAA,IAAY,CAAC,OAAO,QAAA,CAAS,GAAG,CAAA,CAAA,EAAI,KAAA,IAAS,CAAA,EAAG;AAC7F,QAAA,MAAA,GAAS,MAAA,GAAS,OAAO,KAAK,CAAA;AAE9B,QAAA,IAAI,MAAA,CAAO,KAAK,CAAA,KAAM,GAAA,EAAK,eAAA,IAAmB,CAAA;AAAA,MAChD;AACA,MAAA,IAAI,MAAA,EAAQ;AACV,QAAA,OAAO,QAAQ,MAAA,CAAO,MAAM,CAAC,CAAA,CAAE,OAAO,MAAM,CAAA;AAAA,MAC9C;AAEA,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,OAAO,MAAA,CAAO,MAAA,CAAO,gBAAA,CAAiB,MAAA,CAAO,IAAI,GAAG,MAAM,CAAA,CAAE,OAAA,EAAS,CAAC,CAAA;AAAA,MACxE;AAEA,MAAA,OAAO,IAAI,EAAA,CAAG,MAAM,CAAA,CAAE,OAAA,EAAQ;AAAA,IAChC,CAAA;AAAA;AAAA,IAGA,aAAA,CAAc,KAAA,EAAe,QAAA,GAAW,EAAA,EAAI,OAAA,EAAgE;AAC1G,MAAA,MAAM,EAAE,SAAS,KAAA,EAAO,QAAA,GAAW,SAAS,GAAA,EAAI,GAAI,WAAW,EAAC;AAChE,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,OAAO;AAAA,UACL,KAAA,EAAO,KAAA;AAAA,UACP,MAAA,EAAQ,KAAA;AAAA,UACR,YAAA,EAAc,KAAA;AAAA,UACd,QAAA,EAAU;AAAA;AAAA,SAEZ;AAAA,MACF;AACA,MAAA,MAAM,oBAAoB,EAAE,KAAA,EAAO,IAAI,SAAA,CAAU,KAAK,GAAG,QAAA,EAAS;AAClE,MAAA,OAAO;AAAA,QACL,KAAA,EAAO,iBAAA,CAAkB,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,QACxC,cAAc,iBAAA,CAAkB,KAAA,CAAM,IAAI,EAAA,IAAM,QAAQ,EAAE,OAAA,EAAQ;AAAA,QAClE,QAAQ,MAAA,CAAO,MAAA,CAAO,YAAA,CAAa,iBAAA,CAAkB,MAAM,GAAA,CAAI,EAAA,IAAM,QAAQ,CAAA,CAAE,SAAQ,EAAG,MAAA,EAAQ,EAAE,QAAA,EAAU,KAAK,CAAA;AAAA,QACnH,QAAA,EAAU,MAAA,CAAO,iBAAA,CAAkB,QAAQ;AAAA;AAAA,OAE7C;AAAA,IACF,CAAA;AAAA;AAAA;AAAA,IAGA,aAAa,GAAA,EAAsB,MAAA,GAAiB,KAAA,EAAO,OAAA,GAA+C,EAAC,EAAW;AAzR1H,MAAA,IAAA,EAAA,EAAA,EAAA;AA0RM,MAAA,MAAM,EAAE,QAAA,GAAW,MAAA,EAAO,GAAI,WAAW,EAAC;AAE1C,MAAA,IAAI,CAAC,GAAA,IAAO,KAAA,CAAM,OAAO,GAAG,CAAC,GAAG,OAAO,QAAA;AACvC,MAAA,MAAM,MAAA,GAAS,IAAI,SAAA,CAAU,GAAG,EAAE,OAAA,EAAQ;AAC1C,MAAA,MAAM,mBAAA,GAAsB,CAAC,IAAA,KAAiB;AAC5C,QAAA,MAAM,iBAAA,GAAoB,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA;AAC1C,QAAA,IAAI,sBAAsB,EAAA,EAAI;AAC5B,UAAA,OAAO,CAAA;AAAA,QACT;AACA,QAAA,MAAM,WAAA,GAAc,IAAA,CAAK,SAAA,CAAU,iBAAA,GAAoB,CAAC,CAAA;AACxD,QAAA,IAAI,kBAAA,GAAqB,CAAA;AACzB,QAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,WAAA,CAAY,QAAQ,CAAA,EAAA,EAAK;AAC3C,UAAA,IAAI,WAAA,CAAY,CAAC,CAAA,KAAM,GAAA,EAAK;AAC1B,YAAA,kBAAA,EAAA;AAAA,UACF,CAAA,MAAO;AACL,YAAA;AAAA,UACF;AAAA,QACF;AACA,QAAA,OAAO,kBAAA;AAAA,MACT,CAAA;AAEA,MAAA,MAAM,cAAA,GAAiB,oBAAoB,MAAM,CAAA;AACjD,MAAA,MAAM,oBAAA,GAAuB,oBAAoB,MAAM,CAAA;AACvD,MAAA,IAAI,mCAAS,GAAA,EAAK;AAChB,QAAA,IAAI,IAAI,SAAA,CAAU,MAAM,CAAA,CAAE,UAAA,CAAW,IAAI,SAAA,CAAA,CAAU,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,GAAA,KAAO,CAAC,CAAC,CAAA,EAAG;AACtE,UAAA,OAAO,KAAK,OAAA,CAAQ,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,GAAG,CAAA,CAAE,MAAA,CAAO,MAAM,CAAC,CAAA,CAAA;AAAA,QAClD;AAAA,MACF;AACA,MAAA,MAAM,OAAA,GAAU,IAAI,SAAA,CAAU,MAAM,EAAE,OAAA,EAAQ;AAC9C,MAAA,IAAI,MAAA,GAAS,OAAA,CAAQ,OAAA,CAAQ,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA,CAAE,OAAO,MAAA,CAAO,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA;AACvE,MAAA,MAAM,WAAA,GAAA,CAAc,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,KAAA,CAAM,GAAG,CAAA,KAAjB,mBAAqB,CAAA,CAAA,KAArB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAyB,KAAA,CAAM,CAAA,EAAG,cAAA,GAAiB,oBAAA,CAAA;AAEvE,MAAA,IAAI,wBAAwB,cAAA,EAAgB;AAC1C,QAAA,OAAA,CAAQ,MAAA,GAAS,GAAA,GAAM,WAAA,EAAa,OAAA,CAAQ,UAAU,EAAE,CAAA;AAAA,MAC1D;AAEA,MAAA,IAAA,CAAI,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAc,cAAA,GAAiB,CAAA,CAAA,KAAM,GAAA,EAAK;AAC5C,QAAA,OAAA,CAAQ,MAAA,GAAS,GAAA,GAAM,WAAA,CAAY,KAAA,CAAM,CAAA,EAAG,cAAA,GAAiB,CAAC,CAAA,GAAI,GAAA,EAAK,OAAA,CAAQ,QAAA,EAAU,EAAE,CAAA;AAAA,MAC7F;AAEA,MAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,IAAI,SAAA,CAAU,MAAM,EAAE,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,MAAM,CAAA;AACzE,MAAA,OAAO,SAAA,CAAU,OAAA,CAAQ,QAAA,EAAU,EAAE,CAAA;AAAA,IACvC;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AAAA,IACP,cAAA,EAAgB,CAAC,WAAA,EAA0B,OAAA,GAAkB,EAAA,KAAe;AAC1E,MAAA,IAAI;AACF,QAAA,IAAI,eAAe,IAAA,IAAQ,MAAA,CAAO,OAAA,CAAQ,iBAAA,CAAkB,OAAO,CAAA,EAAG;AACpE,UAAA,OAAO,IAAA,CAAK,OAAO,CAAA,CAAE,SAAA,EAAU;AAAA,QACjC;AACA,QAAA,IAAI,eAAe,IAAA,IAAQ,MAAA,CAAO,OAAA,CAAQ,kBAAA,CAAmB,OAAO,CAAA,EAAG;AACrE,UAAA,OAAO,IAAA,CAAK,OAAO,CAAA,CAAE,MAAA,EAAO;AAAA,QAC9B;AAAA,MACF,SAAS,KAAA,EAAO;AAAA,MAAC;AACjB,MAAA,OAAO,OAAA;AAAA,IACT,CAAA;AAAA,IACA,kBAAA,EAAoB,CAAC,OAAA,KAAoB,qBAAA,CAAsB,KAAK,OAAO,CAAA;AAAA,IAC3E,iBAAA,EAAmB,CAAC,OAAA,KAAoB,qBAAA,CAAsB,KAAK,OAAO,CAAA;AAAA,IAC1E,eAAA,EAAiB,CAAC,OAAA,KAAoB,MAAA,CAAO,OAAA,CAAQ,kBAAA,CAAmB,OAAO,CAAA,IAAK,MAAA,CAAO,OAAA,CAAQ,iBAAA,CAAkB,OAAO;AAAA;AAEhI","file":"chunk-5KJLNQQ4.mjs","sourcesContent":["import BN, { BigNumber } from \"bignumber.js\";\nimport JSONFormat from \"json-format\";\nimport { _ } from \"./lodash\";\nimport copy from \"copy-to-clipboard\";\nimport numeral from \"numeral\";\nimport { from } from \"@iotexproject/iotex-address-ts\";\n\nconst valMap = {\n undefined: \"\",\n null: \"\",\n false: false,\n};\n\nexport const helper = {\n env: {\n isBrower() {\n return typeof window !== \"undefined\";\n },\n isIopayMobile() {\n return typeof window !== \"undefined\" && window.navigator?.userAgent?.toLowerCase().includes(\"iopay\");\n },\n isPc() {\n const userAgentInfo = typeof window === \"undefined\" ? \"\" : window?.navigator?.userAgent;\n const Agents = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"];\n let flag = true;\n for (let v = 0; v < Agents.length; v++) {\n if (userAgentInfo?.indexOf(Agents[v] || \"\") > 0) {\n flag = false;\n break;\n }\n }\n return flag;\n },\n isInIframe() {\n try {\n if (typeof window === \"undefined\") return false;\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n },\n },\n promise: {\n async sleep(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n },\n async runAsync<T, U = Error>(promise: Promise<T>): Promise<[U | null, T | null]> {\n return promise.then<[null, T]>((data: T) => [null, data]).catch<[U, null]>((err) => [err, null]);\n },\n },\n object: {\n crawlObject(object, options) {\n const newObj = JSON.parse(JSON.stringify(object));\n return helper.object.crawl(newObj, options);\n },\n crawl(object, options) {\n Object.keys(object).forEach((i) => {\n if (typeof object[i] === \"object\") {\n helper.object.crawl(object[i], options);\n } else {\n const handler = options[typeof object[i]];\n if (handler) {\n object[i] = handler(object[i]);\n }\n }\n });\n return object;\n },\n },\n json: {\n isJsonString(str: string) {\n if (!str || typeof str !== \"string\") return false;\n if (!str?.includes(\"{\")) return false;\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n },\n safeParse(val: any) {\n try {\n return JSON.parse(val);\n } catch (error) {\n return val;\n }\n },\n },\n deepAssign(target, ...sources) {\n sources.forEach((source) => {\n Object.keys(source).forEach((key) => {\n let descriptor = Object.getOwnPropertyDescriptor(source, key);\n if (descriptor && descriptor?.get) {\n return Object.defineProperty(target, key, descriptor);\n }\n const targetValue = target[key];\n let sourceValue = source[key];\n if (helper.isObject(targetValue) && helper.isObject(sourceValue)) {\n try {\n target[key] = helper.deepAssign(targetValue, sourceValue);\n } catch (e) {\n target[key] = Object.assign(targetValue, sourceValue);\n }\n } else {\n target[key] = sourceValue;\n }\n });\n });\n return target;\n },\n isObject(value) {\n return value != null && typeof value === \"object\";\n },\n deepMerge(obj, newObj) {\n const newVal = _.mergeWith(obj, newObj, (...args) => {\n const [objValue, srcValue] = args;\n if (typeof srcValue === \"object\") {\n return helper.deepMerge(objValue, srcValue);\n }\n return srcValue || valMap[srcValue];\n });\n return newVal;\n },\n img: {\n parse(src: string | undefined) {\n if (!src) return \"/img-404.svg\";\n if (src?.startsWith(\"ipfs\")) {\n return \"https://ipfs.io/ipfs/\" + src.split(\"://\")[1];\n }\n return src;\n },\n },\n string: {\n copy(str: string) {\n copy(str);\n },\n fristUpper(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n firstUpperCase(str: string) {\n return str.replace(/^\\S/, (s) => s.toUpperCase());\n },\n toFixString(str, length) {\n if (str && str.length > length) {\n return str.substr(0, length) + \"...\";\n } else {\n return str;\n }\n },\n truncate(fullStr = \"\", strLen, separator) {\n if (fullStr.length <= strLen) return fullStr;\n\n separator = separator || \"...\";\n\n var sepLen = separator.length,\n charsToShow = strLen - sepLen,\n frontChars = Math.ceil(charsToShow / 2),\n backChars = Math.floor(charsToShow / 2);\n\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n },\n validAbi(abi: string): { abi: any[]; address: string } {\n try {\n JSON.parse(abi);\n const _abi = helper.json.safeParse(abi);\n if (!_abi) {\n return { abi: [], address: \"\" };\n }\n if (Array.isArray(_abi)) {\n return { abi: _abi, address: \"\" };\n } else if (_abi.abi && _abi.address) {\n return { abi: _abi.abi, address: _abi.address };\n } else if (_abi.abi && !_abi.addresses) {\n return { abi: _abi.abi, address: \"\" };\n }\n return { abi: [], address: \"\" };\n } catch (error) {\n return { abi: [], address: \"\" };\n }\n },\n random(count: number) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let result = \"\";\n for (let i = 0; i < count; i++) {\n result += chars.charAt(Math.floor(Math.random() * chars.length));\n }\n return result;\n },\n },\n download: {\n downloadByBlob(name: string, blob: Blob) {\n const a = document.createElement(\"a\");\n const href = window.URL.createObjectURL(blob);\n a.href = href;\n a.download = name;\n a.click();\n },\n downloadJSON(name: string, jsonObj: object) {\n try {\n const jsonStr: string = JSONFormat(jsonObj);\n const blob = new Blob([jsonStr], { type: \"application/json\" });\n this.downloadByBlob(name + \".json\", blob);\n } catch (error) {\n console.error(error);\n }\n },\n },\n number: {\n countNonZeroNumbers: (str: string) => {\n let index = 0;\n const length = str.length;\n for (; index < length && (str[index] === \"0\" || str[index] === \".\"); index += 1);\n return length - index - Number(str.includes(\".\"));\n },\n numberWithCommas(num: number) {\n return num.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n },\n getBN: (value: number | string | BN) => {\n return value instanceof BN ? value : typeof value === \"string\" ? new BN(Number(value)) : new BN(value);\n },\n toPrecisionFloor: (str: number | string, options?: { decimals?: number; format?: string; toLocalString?: boolean }) => {\n const { decimals = 6, format = \"\", toLocalString = false } = options || {};\n if (!str || isNaN(Number(str))) return \"\";\n\n if (helper.number.countNonZeroNumbers(String(str)) <= decimals) return String(str);\n const numStr = new BN(str).toFixed();\n let result = \"\";\n let index = 0;\n const numLength = numStr.length;\n\n for (; numStr[index] === \"0\" && index < numLength; index += 1);\n\n if (index === numLength) return \"0\";\n\n if (numStr[index] === \".\") {\n // number < 0\n result = \"0\";\n for (; (numStr[index] === \"0\" || numStr[index] === \".\") && index < numLength; index += 1) {\n result = result + numStr[index];\n }\n }\n let resultNumLength = 0;\n for (; index < numLength && (resultNumLength < decimals || !result.includes(\".\")); index += 1) {\n result = result + numStr[index];\n\n if (numStr[index] !== \".\") resultNumLength += 1;\n }\n if (format) {\n return numeral(Number(result)).format(format);\n }\n\n if (toLocalString) {\n return helper.number.numberWithCommas(Number(new BN(result).toFixed()));\n }\n\n return new BN(result).toFixed();\n },\n\n //format: '0,0'\n warpBigNumber(value: string, decimals = 18, options?: { format?: string; fallback?: string; min?: number }) {\n const { format = \"0.0\", fallback = \"0.000\", min } = options || {};\n if (!value) {\n return {\n value: \"...\",\n format: \"...\",\n originFormat: \"...\",\n decimals: \"0\",\n // isZero: true,\n };\n }\n const BigNumberResponse = { value: new BigNumber(value), decimals };\n return {\n value: BigNumberResponse.value.toFixed(0),\n originFormat: BigNumberResponse.value.div(10 ** decimals).toFixed(),\n format: helper.number.numberFormat(BigNumberResponse.value.div(10 ** decimals).toFixed(), format, { fallback, min }),\n decimals: String(BigNumberResponse.decimals),\n // isZero: BigNumberResponse.value.isZero(),\n };\n },\n //http://numeraljs.com/ format params does not need to deal with decimal places\n //format: '$0,0' '0a' '0,0' '0,0$'\n numberFormat(str: string | number, format: string = \"0,0\", options: { min?: number; fallback?: string } = {}): string {\n const { fallback = \"0.00\" } = options || {};\n\n if (!str || isNaN(Number(str))) return fallback;\n const numStr = new BigNumber(str).toFixed();\n const countNonZeroNumbers = (_str: string) => {\n const decimalPointIndex = _str.indexOf(\".\");\n if (decimalPointIndex === -1) {\n return 0;\n }\n const decimalPart = _str.substring(decimalPointIndex + 1);\n let trailingZerosCount = 0;\n for (let i = 0; i < decimalPart.length; i++) {\n if (decimalPart[i] === \"0\") {\n trailingZerosCount++;\n } else {\n break;\n }\n }\n return trailingZerosCount;\n };\n\n const fractionDigits = countNonZeroNumbers(format);\n const numberFractionDigits = countNonZeroNumbers(numStr);\n if (options?.min) {\n if (new BigNumber(numStr).isLessThan(new BigNumber(options?.min || 0))) {\n return `< ${numeral(options?.min).format(format)}`;\n }\n }\n const fullStr = new BigNumber(numStr).toFixed();\n let preStr = numeral(fullStr.split(\".\")[0]).format(format.split(\".\")[0]);\n const fractionStr = fullStr.split(\".\")?.[1]?.slice(0, fractionDigits + numberFractionDigits);\n\n if (numberFractionDigits >= fractionDigits) {\n return (preStr + \".\" + fractionStr).replace(/\\.?0+$/, \"\");\n }\n\n if (fractionStr?.[fractionDigits - 1] == \"9\") {\n return (preStr + \".\" + fractionStr.slice(0, fractionDigits - 1) + \"9\").replace(/\\.?0+$/, \"\");\n }\n\n const resultStr = numeral(new BigNumber(numStr).toString()).format(format);\n return resultStr.replace(/\\.?0+$/, \"\");\n },\n },\n address: {\n convertAddress: (addressMode: \"io\" | \"0x\", address: string = \"\"): string => {\n try {\n if (addressMode == \"0x\" && helper.address.validateIoAddress(address)) {\n return from(address).stringEth();\n }\n if (addressMode == \"io\" && helper.address.validateEthAddress(address)) {\n return from(address).string();\n }\n } catch (error) {}\n return address;\n },\n validateEthAddress: (address: string) => /^0x[a-fA-F0-9]{40}$/.test(address),\n validateIoAddress: (address: string) => /^io[a-zA-Z0-9]{39}$/.test(address),\n validateAddress: (address: string) => helper.address.validateEthAddress(address) || helper.address.validateIoAddress(address),\n },\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { helper } from './chunk-
|
|
1
|
+
import { helper } from './chunk-5KJLNQQ4.mjs';
|
|
2
2
|
import { __objRest, __spreadProps, __spreadValues } from './chunk-YOSPWY5K.mjs';
|
|
3
3
|
import { defineChain, createPublicClient, http, getContract, encodeFunctionData } from 'viem';
|
|
4
4
|
import { iotexTestnet, mainnet, polygon, bsc, iotex } from 'viem/chains';
|
|
@@ -472,5 +472,5 @@ _AIem.utils = {
|
|
|
472
472
|
var AIem = _AIem;
|
|
473
473
|
|
|
474
474
|
export { AIem, Cache, Fields, iotexBabelNightly };
|
|
475
|
-
//# sourceMappingURL=chunk-
|
|
476
|
-
//# sourceMappingURL=chunk-
|
|
475
|
+
//# sourceMappingURL=chunk-DSRTQO5D.mjs.map
|
|
476
|
+
//# sourceMappingURL=chunk-DSRTQO5D.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/decorators.ts","../constants/abi.ts","../aiem.ts"],"names":[],"mappings":"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","file":"chunk-L5VZQRXB.mjs","sourcesContent":["import \"reflect-metadata\";\nimport { ClassType } from \"./interface\";\n\nexport const FIELD_KEY = Symbol(\"aiem_field\");\n\nexport interface FieldParams {\n ttl?: number;\n}\n\nexport type ContractParams<T extends any = any, K extends keyof T = keyof T> = K;\n\nconst metadataCache = new WeakMap<any, Map<any, any>>();\n\nexport class Fields {\n static hide(options: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"hide\", options });\n };\n }\n\n static read(options: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"read\", options });\n };\n }\n\n static write(options: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"write\", options });\n };\n }\n\n static custom(func: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"custom\", func });\n };\n }\n\n static relation<T = any, R = any>(entity: () => ClassType<R>, options: ((e: T) => Promise<Partial<R> | Partial<R>[]>) | string) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"entity\", entity, targetKey: options });\n };\n }\n\n static contract<T = any, R = any>(entity: () => ClassType<R>, options: ((e: T) => Promise<Partial<R> | Partial<R>[]>) | string) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"entity\", entity, targetKey: options });\n };\n }\n private static setMetadata(target: any, propertyKey: any, metadata: any) {\n let targetMetadata = metadataCache.get(target);\n if (!targetMetadata) {\n targetMetadata = new Map<any, any>();\n metadataCache.set(target, targetMetadata);\n }\n targetMetadata.set(propertyKey, metadata);\n // @ts-ignore \n Reflect.defineMetadata(FIELD_KEY, metadata, target, propertyKey);\n }\n}\n\nexport function getFieldMetadata(target: any, propertyKey: string) {\n const targetMetadata = metadataCache.get(target);\n if (targetMetadata) {\n return targetMetadata.get(propertyKey);\n }\n // @ts-ignore \n return Reflect.getMetadata(FIELD_KEY, target, propertyKey);\n}\n","export const ERC20ABI = [{ \"inputs\": [{ \"internalType\": \"string\", \"name\": \"name\", \"type\": \"string\" }, { \"internalType\": \"string\", \"name\": \"symbol\", \"type\": \"string\" }, { \"internalType\": \"uint256\", \"name\": \"initialSupply\", \"type\": \"uint256\" }, { \"internalType\": \"address\", \"name\": \"owner\", \"type\": \"address\" }], \"stateMutability\": \"nonpayable\", \"type\": \"constructor\" }, { \"anonymous\": false, \"inputs\": [{ \"indexed\": true, \"internalType\": \"address\", \"name\": \"owner\", \"type\": \"address\" }, { \"indexed\": true, \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"indexed\": false, \"internalType\": \"uint256\", \"name\": \"value\", \"type\": \"uint256\" }], \"name\": \"Approval\", \"type\": \"event\" }, { \"anonymous\": false, \"inputs\": [{ \"indexed\": true, \"internalType\": \"address\", \"name\": \"from\", \"type\": \"address\" }, { \"indexed\": true, \"internalType\": \"address\", \"name\": \"to\", \"type\": \"address\" }, { \"indexed\": false, \"internalType\": \"uint256\", \"name\": \"value\", \"type\": \"uint256\" }], \"name\": \"Transfer\", \"type\": \"event\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"owner\", \"type\": \"address\" }, { \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }], \"name\": \"allowance\", \"outputs\": [{ \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"approve\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"account\", \"type\": \"address\" }], \"name\": \"balanceOf\", \"outputs\": [{ \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"burn\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"account\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"burnFrom\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"decimals\", \"outputs\": [{ \"internalType\": \"uint8\", \"name\": \"\", \"type\": \"uint8\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"subtractedValue\", \"type\": \"uint256\" }], \"name\": \"decreaseAllowance\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"addedValue\", \"type\": \"uint256\" }], \"name\": \"increaseAllowance\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"name\", \"outputs\": [{ \"internalType\": \"string\", \"name\": \"\", \"type\": \"string\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"symbol\", \"outputs\": [{ \"internalType\": \"string\", \"name\": \"\", \"type\": \"string\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"totalSupply\", \"outputs\": [{ \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"recipient\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"transfer\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"sender\", \"type\": \"address\" }, { \"internalType\": \"address\", \"name\": \"recipient\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"transferFrom\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }] as const;","import {\n type Chain,\n type GetContractReturnType,\n type Abi,\n type PublicClient,\n type HttpTransport,\n type WalletClient,\n type Transport,\n type Account,\n type MulticallBatchOptions,\n encodeFunctionData,\n http,\n getContract,\n createPublicClient,\n defineChain,\n} from \"viem\";\nimport { iotex, mainnet, bsc, polygon, iotexTestnet } from \"viem/chains\";\nimport TTLCache from \"@isaacs/ttlcache\";\nimport { ClassType } from \"./lib/interface\";\nimport { getFieldMetadata } from \"./lib/decorators\";\nimport { helper } from \"./utils\";\nimport BigNumber from \"bignumber.js\";\nimport { ERC20ABI } from \"./constants/abi\";\n\n//@ts-ignore\nBigInt.prototype.toJSON = function () {\n return this.toString();\n};\n\n(iotexTestnet.contracts = {\n multicall3: {\n //@ts-ignore\n address: \"0xb5cecd6894c6f473ec726a176f1512399a2e355d\",\n blockCreated: 24347592,\n },\n}),\n //@ts-ignore\n (mainnet.rpcUrls.default.http = [\"https://rpc.ankr.com/eth\"]);\n//@ts-ignore\nmainnet.rpcUrls.default.webSocket = [\"wss://ethereum-rpc.publicnode.com\"];\n//@ts-ignore\nexport const iotexBabelNightly = /*#__PURE__*/ defineChain({\n id: 4_691,\n name: \"IoTeX Babel Nightly\",\n network: \"iotex-babel-nightly\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\",\n },\n iconUrl: \"https://cdn-dapp-works.s3.us-east-1.amazonaws.com/1dd84d927ae959c508392be62e6eb549.png\",\n rpcUrls: {\n default: {\n http: [\"https://babel-nightly.iotex.io\"],\n webSocket: [\"wss://babel-nightly.iotex.io\"],\n },\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" },\n },\n // contracts: {\n // multicall3: {\n // address: '0xb5cecD6894c6f473Ec726A176f1512399A2e355d',\n // },\n // },\n testnet: true,\n});\n\nexport { Fields } from \"./lib/decorators\";\n\nexport class Cache {\n kv = new TTLCache<string, any>({ max: 10000, ttl: 1000 * 60 });\n\n wrap<T>(key: string, fn: () => T | Promise<T>, config: TTLCache.Options<any, any> = {}): T | Promise<T> {\n if (this.kv.has(key)) {\n // console.log(`load ${key} from cache`)\n return this.kv.get(key);\n }\n\n const result = fn();\n if (result instanceof Promise) {\n const promiseResult = result.then((res) => {\n this.kv.set(key, res, config);\n return res;\n });\n this.kv.set(key, promiseResult, config);\n return promiseResult;\n } else {\n this.kv.set(key, result, config);\n return result;\n }\n }\n}\n\nexport type GetOptions = {\n multicall?: boolean | MulticallBatchOptions;\n rpcUrls?: Chain[\"rpcUrls\"];\n pollingInterval?: number;\n};\n\nexport class AIem<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }> {\n static cache?: Cache = new Cache();\n cache?: Cache = new Cache();\n contractMap?: Contracts;\n //@ts-ignore\n chainMap?: Chains = {\n [iotex.id]: iotex,\n [mainnet.id]: mainnet,\n [bsc.id]: bsc,\n [polygon.id]: polygon,\n [iotexTestnet.id]: iotexTestnet,\n [iotexBabelNightly.id]: iotexBabelNightly,\n };\n nameMap?: Addrs;\n contracts: {\n [K in keyof Addrs & keyof Contracts]: {\n //@ts-ignore\n [KK in keyof Addrs[K]]: GetContractReturnType<Contracts[K], PublicClient<HttpTransport, Chain, any, any>, any, any>;\n };\n };\n static defaultFuncMap = {\n totalSupply: { ttl: 15 * 1000 },\n symbol: { ttl: 60 * 1000 },\n name: { ttl: 60 * 1000 },\n decimals: { ttl: 60 * 1000 },\n balanceOf: { ttl: 5 * 1000 },\n };\n funcMap?: { [key: string]: { ttl?: number } } = {};\n\n get _cache() {\n return AIem.cache;\n }\n\n //@ts-ignore\n getWallet?: () => WalletClient;\n\n static Set<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }>(\n args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\">,\n ) {\n return this.init().Set(args);\n }\n\n Set<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }>(\n args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\">,\n ): AIem<Contracts, Chains, Addrs> {\n const { chainMap = {}, contractMap = {}, funcMap, ...rest } = args || {};\n //@ts-ignore\n this.chainMap = Object.assign({}, this.chainMap || {}, chainMap);\n //@ts-ignore\n this.contractMap = Object.assign({}, this.contractMap || {}, contractMap);\n //@ts-ignore\n this.funcMap = Object.assign({}, this.funcMap || {}, funcMap);\n\n Object.assign(this, rest);\n return this as any;\n }\n\n constructor(args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\"> = {}) {\n this.Set(args);\n\n this.contracts = new Proxy(\n {},\n {\n //@ts-ignore\n get: (target: any, contractName: keyof Addrs & keyof Contracts) => {\n if (target[contractName]) return target[contractName];\n\n if (!this.nameMap[contractName]) {\n throw new Error(`Contract ${String(contractName)} not found`);\n }\n\n target[contractName] = new Proxy(\n {},\n {\n //@ts-ignore\n get: (innerTarget: any, contractAlias: keyof Addrs[keyof Addrs]) => {\n const addressStr = this.nameMap[contractName]?.[contractAlias];\n if (!addressStr) {\n throw new Error(`Alias ${String(contractAlias)} for contract ${String(contractName)} not found`);\n }\n const [chainId, address] = addressStr.split(\"-\");\n\n // Assuming getContractInstance is a function that retrieves a contract instance\n return this.Get(contractName, String(chainId), address as `0x${string}`);\n },\n },\n );\n return target[contractName];\n },\n },\n ) as any;\n }\n\n // WsClient<C extends keyof Chains>(chainId: C): PublicClient<WebSocketTransport, Chain, any, any> {\n // //@ts-ignore\n // return this.cache.wrap(`wsClient-${String(chainId)}`, () => {\n // // const wsUrl = this.chainMap[chainId]?.rpcUrls?.default?.webSocket?.[0]\n // // if (!wsUrl) throw new Error(`rpcUrls.default.webSocket[0] is not defined for chainId ${String(chainId)}`)\n // // //@ts-ignore\n // return createPublicClient({\n // //@ts-ignore\n // chain: this.chainMap[chainId],\n // transport: webSocket()\n // }) as PublicClient<WebSocketTransport, Chain, any, any>\n // })\n // }\n\n static PubClient(chainId: string, options: GetOptions = { multicall: true }): PublicClient<HttpTransport, Chain, any, any> {\n //@ts-ignore\n return this.init().PubClient(chainId, options);\n }\n\n PubClient<C extends keyof Chains>(chainId: C, options: GetOptions = { multicall: true }): PublicClient<HttpTransport, Chain, any, any> {\n const chain = this.chainMap[chainId];\n if (options.rpcUrls) {\n chain.rpcUrls = options.rpcUrls;\n }\n //@ts-ignore\n return this._cache.wrap(`publicClient-${String(chainId)}-${chain.rpcUrls.default.http}-${JSON.stringify(options?.multicall)}-${options?.pollingInterval}`, () => {\n //@ts-ignore\n return createPublicClient({\n //@ts-ignore\n chain,\n ...(options?.multicall\n ? {\n batch: {\n multicall: typeof options.multicall === \"boolean\" ? true : options.multicall,\n },\n }\n : {}),\n ...(options?.pollingInterval\n ? {\n pollingInterval: options.pollingInterval,\n }\n : {\n pollingInterval: 2500,\n }),\n //@ts-ignore\n transport: http(),\n });\n });\n }\n\n //@ts-ignore\n static Get<TAbi extends Abi = any, ReturnType extends GetContractReturnType<TAbi, WalletClient<Transport, Chain, Account>>>(\n abi: TAbi,\n chainId: any,\n address: any,\n wallet?: WalletClient,\n //@ts-ignore\n options?: GetOptions = { multicall: true },\n //@ts-ignore\n ): ReturnType & { encode: ReturnType[\"write\"] } {\n const aiem = this.init();\n if (!wallet) {\n wallet = aiem.getWallet ? aiem.getWallet() : null;\n }\n\n const cacheKey = `contract ${chainId}-${address}-${wallet ? wallet.account.address : null}`;\n return aiem._cache.wrap(cacheKey, () => {\n //@ts-ignore\n const pubClient = aiem.PubClient(chainId, options);\n\n //@ts-ignore\n return aiem.getContract({\n client: {\n //@ts-ignore\n public: pubClient,\n //@ts-ignore\n wallet,\n },\n address,\n abi,\n });\n }) as any;\n }\n\n //@ts-ignore\n Get<K extends keyof Contracts, C extends keyof Chains, Addr extends `0x${string}`>(\n contractName: K,\n chainId: C,\n address: Addr,\n options: GetOptions = { multicall: true },\n //@ts-ignore\n ): GetContractReturnType<Contracts[K], PublicClient<HttpTransport, Chain, any, any>> & { encode: GetContractReturnType<Contracts[K], WalletClient<HttpTransport, Chain, Account, any>>[\"write\"] } {\n const wallet = this.getWallet ? this.getWallet() : null;\n //@ts-ignore\n const cacheKey = `contract ${chainId}-${address}-${wallet ? wallet.account.address : null}`;\n return this._cache.wrap(cacheKey, () => {\n //@ts-ignore\n const contract = this.contractMap[contractName];\n //@ts-ignore\n const pubClient = this.PubClient(chainId, options);\n\n //@ts-ignore\n return this.getContract({\n client: {\n //@ts-ignore\n public: pubClient,\n //@ts-ignore\n wallet,\n },\n address,\n abi: contract,\n });\n }) as any;\n }\n\n getContract({\n client,\n address,\n abi,\n }: {\n client: {\n public: PublicClient<HttpTransport, Chain, any, any>;\n wallet?: WalletClient;\n };\n address: `0x${string}`;\n abi: any;\n }) {\n const handler = {\n get: (target: any, funcName: any) => {\n if (funcName == \"encode\") {\n return new Proxy(\n {},\n {\n get(t1, f1) {\n return async (args: any) => {\n // @ts-ignore\n return encodeFunctionData({\n abi,\n functionName: f1,\n args,\n });\n };\n },\n },\n );\n }\n\n if (typeof target[funcName] === \"function\") {\n return async (...args: any[]) => {\n const methodConfig = this.funcMap?.[funcName as string];\n // const cacheKey = `method:${client.public.chain.id}-${address}-${String(funcName)}-${JSON.stringify(args)}`;\n const cacheKey = `call ${client.public.chain.id}-${address}-${funcName}-${JSON.stringify(args)}`;\n\n if (methodConfig) {\n return this.cache.wrap(\n cacheKey,\n () => {\n return target[funcName](...args);\n },\n methodConfig,\n );\n }\n\n return target[funcName](...args);\n };\n }\n return new Proxy(target[funcName], handler);\n },\n };\n\n //@ts-ignore\n const contract = getContract({\n //@ts-ignore\n client,\n address,\n abi,\n });\n return new Proxy(contract, handler) as any;\n }\n\n static init(): AIem<any, any, any> {\n if (!globalThis.aiem) {\n //@ts-ignore\n globalThis.aiem = new AIem();\n }\n\n return globalThis.aiem;\n }\n\n static async getPrice({ chainId = \"4689\", address }: { chainId?: string; address: string }) {\n const priceMap = await this.cache.wrap(\n `token-price`,\n async () => {\n const res = await (await fetch(\"https://api.iopay.me/api/rest/price\")).json();\n return Object.values(res)\n .flat()\n .reduce((p, c: { platforms: string; current_price: number }) => {\n p[`${4689}-${c.platforms.toLowerCase()}`] = c.current_price;\n return p;\n }, {});\n },\n { ttl: 1000 * 60 },\n );\n return priceMap[`${chainId}-${address}`];\n }\n\n static utils = {\n autoFormat: async ({ value, decimals, chainId, address }: { value: string; decimals?: number; chainId: string; address: string }) => {\n if (!decimals) {\n //@ts-ignore\n decimals = await this.cache.wrap(`${chainId}-${address}-decimals`, async () => {\n //@ts-ignore\n return this.Get(ERC20ABI, chainId, address).read.decimals();\n });\n }\n const wrap = helper.number.warpBigNumber(value, decimals, { format: \"0,0.000000\", fallback: \"\" });\n const price = await this.getPrice({ chainId, address: address.toLowerCase() });\n const usd = new BigNumber(wrap.originFormat).multipliedBy(price || 0).toFixed(2);\n return { ...wrap, usd, price };\n },\n };\n\n static QueryMany<E, S extends QuerySelect<E>>(entity: ClassType<E>, select: S) {\n return async (_entities: Partial<E>[]): Promise<QueryReturnType<E, S>[]> => {\n //@ts-ignore\n return this.Query(entity, select)(_entities) as any;\n };\n }\n\n static Query<E, S extends QuerySelect<E>>(entity: ClassType<E>, select: S) {\n return async (entities: Partial<E>): Promise<QueryReturnType<E, S>> => {\n const isArrayInput = Array.isArray(entities);\n\n try {\n const results: Array<QueryReturnType<E, S>> = [];\n\n if (!isArrayInput) {\n //@ts-ignore\n entities = [entities];\n }\n //@ts-ignore\n for (const entityData of entities) {\n const instance = Object.assign(new entity(), entityData);\n // const result: any = {};\n\n const fetchFields = async (obj: any, sel: any) => {\n const promises = [];\n for (const key in sel) {\n // return console.log(key, getFieldMetadata(obj, key))\n // Check if the property is annotated with @Fields.read(), @Fields.custom(), or @Fields.contract()\n const fieldMetadata = getFieldMetadata(obj, key);\n let call: any;\n //@ts-ignore\n const enableMulticall = entity.multicall == false ? false : true;\n // console.log(key, fieldMetadata, instance)\n if (sel[key] == false) {\n call = async () => null;\n } else {\n switch (fieldMetadata?.type) {\n case \"read\":\n if (Array.isArray(sel[key])) {\n //@ts-ignore\n call = () => this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[key](sel[key]);\n } else {\n //@ts-ignore\n call = () => this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[key]();\n }\n break;\n case \"write\":\n // @ts-ignore\n obj[key] = encodeFunctionData({\n //@ts-ignore\n abi: entity.abi,\n functionName: key,\n args: sel[key],\n });\n\n break;\n case \"custom\":\n const func = fieldMetadata.func;\n call = () => func(instance);\n break;\n case \"entity\":\n const targetMetadata = getFieldMetadata(instance, fieldMetadata.targetKey);\n\n if (typeof fieldMetadata.targetKey == \"string\") {\n if (targetMetadata?.options?.ttl) {\n //@ts-ignore\n const cacheKey = `call ${instance.chainId}-${instance.address}-${fieldMetadata.targetKey}`;\n //@ts-ignore\n call = () =>\n new Promise(async (resolve) => {\n //@ts-ignore\n const address = await this.cache.wrap(cacheKey, async () =>\n //@ts-ignore\n this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[fieldMetadata.targetKey](),\n );\n //@ts-ignore\n resolve(this.Query(fieldMetadata.entity(), sel[key])({ address, chainId: instance.chainId }));\n });\n } else {\n call = () =>\n //@ts-ignore\n this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall })\n //@ts-ignore\n .read[fieldMetadata.targetKey]()\n .then((address: any) => {\n // console.log({ address, sel: sel[key] })\n //@ts-ignore\n return this.Query(fieldMetadata.entity(), sel[key])({ address, chainId: instance.chainId });\n });\n }\n } else {\n //@ts-ignore\n call = () =>\n fieldMetadata.targetKey(instance).then((args) => {\n // console.log(args)\n return Array.isArray(args) ? this.QueryMany(fieldMetadata.entity(), sel[key])(args) : this.Query(fieldMetadata.entity(), sel[key])(args);\n });\n }\n break;\n default:\n if (typeof obj[key] == \"function\") {\n call = () => obj[key](...(Array.isArray(sel[key]) ? sel[key] : []));\n }\n break;\n }\n }\n\n if (call) {\n if (fieldMetadata?.options?.ttl) {\n //@ts-ignore\n const cacheKey = `call ${instance.chainId}-${instance.address}-${key}-${JSON.stringify(sel[key])}`;\n promises.push(\n new Promise(async (resolve) => {\n const value = await this.cache.wrap(cacheKey, async () => call().catch((i) => null), fieldMetadata.options);\n obj[key] = value;\n resolve(value);\n }),\n );\n } else {\n promises.push(\n call()\n .then((value) => {\n obj[key] = value;\n })\n .catch((i) => (obj[key] = null)),\n );\n }\n }\n }\n\n await Promise.all(promises);\n };\n\n await fetchFields(instance, select);\n //@ts-ignore\n results.push(instance);\n }\n\n if (isArrayInput) {\n return results as any;\n } else {\n return results[0] as any;\n }\n } catch (error) {\n if (isArrayInput) {\n return [] as any;\n } else {\n return null as any;\n }\n }\n };\n }\n}\nexport type Item<T> = T extends (infer U)[] ? U : T;\n\n// export type QueryResult<E, S extends QuerySelect<E>> =\n// E extends Array<any> ? Promise<Array<QueryReturnType<E[number], S>>> :\n// E extends object ? Promise<QueryReturnType<E, S>> :\n// never;\n\ntype QuerySelect<E> = {\n [K in keyof E]?: E[K] extends (...args: any[]) => any ? Parameters<E[K]> | boolean : E[K] extends object ? QuerySelect<Item<E[K]>> | boolean : boolean;\n};\n\n// type FunctionReturn<T> = T extends (...args: any[]) => any ? Awaited<ReturnType<T>> : T;\n// type NestedReturn<E, S> = E extends object ? S extends object ? QueryReturnType<E, S> : E : E;\n\nexport type QueryReturnType<E, S extends QuerySelect<E>> = {\n [K in keyof E]: K extends keyof S\n ? E[K] extends (...args: any[]) => any\n ? Awaited<ReturnType<E[K]>>\n : E[K] extends object\n ? S[K] extends object\n ? QueryReturnType<E[K], S[K]>\n : E[K]\n : E[K]\n : E[K];\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../lib/decorators.ts","../constants/abi.ts","../aiem.ts"],"names":[],"mappings":"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","file":"chunk-DSRTQO5D.mjs","sourcesContent":["import \"reflect-metadata\";\nimport { ClassType } from \"./interface\";\n\nexport const FIELD_KEY = Symbol(\"aiem_field\");\n\nexport interface FieldParams {\n ttl?: number;\n}\n\nexport type ContractParams<T extends any = any, K extends keyof T = keyof T> = K;\n\nconst metadataCache = new WeakMap<any, Map<any, any>>();\n\nexport class Fields {\n static hide(options: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"hide\", options });\n };\n }\n\n static read(options: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"read\", options });\n };\n }\n\n static write(options: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"write\", options });\n };\n }\n\n static custom(func: any = {}) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"custom\", func });\n };\n }\n\n static relation<T = any, R = any>(entity: () => ClassType<R>, options: ((e: T) => Promise<Partial<R> | Partial<R>[]>) | string) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"entity\", entity, targetKey: options });\n };\n }\n\n static contract<T = any, R = any>(entity: () => ClassType<R>, options: ((e: T) => Promise<Partial<R> | Partial<R>[]>) | string) {\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\n Fields.setMetadata(target, propertyKey, { type: \"entity\", entity, targetKey: options });\n };\n }\n private static setMetadata(target: any, propertyKey: any, metadata: any) {\n let targetMetadata = metadataCache.get(target);\n if (!targetMetadata) {\n targetMetadata = new Map<any, any>();\n metadataCache.set(target, targetMetadata);\n }\n targetMetadata.set(propertyKey, metadata);\n // @ts-ignore \n Reflect.defineMetadata(FIELD_KEY, metadata, target, propertyKey);\n }\n}\n\nexport function getFieldMetadata(target: any, propertyKey: string) {\n const targetMetadata = metadataCache.get(target);\n if (targetMetadata) {\n return targetMetadata.get(propertyKey);\n }\n // @ts-ignore \n return Reflect.getMetadata(FIELD_KEY, target, propertyKey);\n}\n","export const ERC20ABI = [{ \"inputs\": [{ \"internalType\": \"string\", \"name\": \"name\", \"type\": \"string\" }, { \"internalType\": \"string\", \"name\": \"symbol\", \"type\": \"string\" }, { \"internalType\": \"uint256\", \"name\": \"initialSupply\", \"type\": \"uint256\" }, { \"internalType\": \"address\", \"name\": \"owner\", \"type\": \"address\" }], \"stateMutability\": \"nonpayable\", \"type\": \"constructor\" }, { \"anonymous\": false, \"inputs\": [{ \"indexed\": true, \"internalType\": \"address\", \"name\": \"owner\", \"type\": \"address\" }, { \"indexed\": true, \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"indexed\": false, \"internalType\": \"uint256\", \"name\": \"value\", \"type\": \"uint256\" }], \"name\": \"Approval\", \"type\": \"event\" }, { \"anonymous\": false, \"inputs\": [{ \"indexed\": true, \"internalType\": \"address\", \"name\": \"from\", \"type\": \"address\" }, { \"indexed\": true, \"internalType\": \"address\", \"name\": \"to\", \"type\": \"address\" }, { \"indexed\": false, \"internalType\": \"uint256\", \"name\": \"value\", \"type\": \"uint256\" }], \"name\": \"Transfer\", \"type\": \"event\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"owner\", \"type\": \"address\" }, { \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }], \"name\": \"allowance\", \"outputs\": [{ \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"approve\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"account\", \"type\": \"address\" }], \"name\": \"balanceOf\", \"outputs\": [{ \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"burn\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"account\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"burnFrom\", \"outputs\": [], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"decimals\", \"outputs\": [{ \"internalType\": \"uint8\", \"name\": \"\", \"type\": \"uint8\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"subtractedValue\", \"type\": \"uint256\" }], \"name\": \"decreaseAllowance\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"spender\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"addedValue\", \"type\": \"uint256\" }], \"name\": \"increaseAllowance\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"name\", \"outputs\": [{ \"internalType\": \"string\", \"name\": \"\", \"type\": \"string\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"symbol\", \"outputs\": [{ \"internalType\": \"string\", \"name\": \"\", \"type\": \"string\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [], \"name\": \"totalSupply\", \"outputs\": [{ \"internalType\": \"uint256\", \"name\": \"\", \"type\": \"uint256\" }], \"stateMutability\": \"view\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"recipient\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"transfer\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"inputs\": [{ \"internalType\": \"address\", \"name\": \"sender\", \"type\": \"address\" }, { \"internalType\": \"address\", \"name\": \"recipient\", \"type\": \"address\" }, { \"internalType\": \"uint256\", \"name\": \"amount\", \"type\": \"uint256\" }], \"name\": \"transferFrom\", \"outputs\": [{ \"internalType\": \"bool\", \"name\": \"\", \"type\": \"bool\" }], \"stateMutability\": \"nonpayable\", \"type\": \"function\" }] as const;","import {\n type Chain,\n type GetContractReturnType,\n type Abi,\n type PublicClient,\n type HttpTransport,\n type WalletClient,\n type Transport,\n type Account,\n type MulticallBatchOptions,\n encodeFunctionData,\n http,\n getContract,\n createPublicClient,\n defineChain,\n} from \"viem\";\nimport { iotex, mainnet, bsc, polygon, iotexTestnet } from \"viem/chains\";\nimport TTLCache from \"@isaacs/ttlcache\";\nimport { ClassType } from \"./lib/interface\";\nimport { getFieldMetadata } from \"./lib/decorators\";\nimport { helper } from \"./utils\";\nimport BigNumber from \"bignumber.js\";\nimport { ERC20ABI } from \"./constants/abi\";\n\n//@ts-ignore\nBigInt.prototype.toJSON = function () {\n return this.toString();\n};\n\n(iotexTestnet.contracts = {\n multicall3: {\n //@ts-ignore\n address: \"0xb5cecd6894c6f473ec726a176f1512399a2e355d\",\n blockCreated: 24347592,\n },\n}),\n //@ts-ignore\n (mainnet.rpcUrls.default.http = [\"https://rpc.ankr.com/eth\"]);\n//@ts-ignore\nmainnet.rpcUrls.default.webSocket = [\"wss://ethereum-rpc.publicnode.com\"];\n//@ts-ignore\nexport const iotexBabelNightly = /*#__PURE__*/ defineChain({\n id: 4_691,\n name: \"IoTeX Babel Nightly\",\n network: \"iotex-babel-nightly\",\n nativeCurrency: {\n decimals: 18,\n name: \"IoTeX\",\n symbol: \"IOTX\",\n },\n iconUrl: \"https://cdn-dapp-works.s3.us-east-1.amazonaws.com/1dd84d927ae959c508392be62e6eb549.png\",\n rpcUrls: {\n default: {\n http: [\"https://babel-nightly.iotex.io\"],\n webSocket: [\"wss://babel-nightly.iotex.io\"],\n },\n },\n blockExplorers: {\n default: { name: \"IoTeXScan\", url: \"https://testnet.iotexscan.io\" },\n },\n // contracts: {\n // multicall3: {\n // address: '0xb5cecD6894c6f473Ec726A176f1512399A2e355d',\n // },\n // },\n testnet: true,\n});\n\nexport { Fields } from \"./lib/decorators\";\n\nexport class Cache {\n kv = new TTLCache<string, any>({ max: 10000, ttl: 1000 * 60 });\n\n wrap<T>(key: string, fn: () => T | Promise<T>, config: TTLCache.Options<any, any> = {}): T | Promise<T> {\n if (this.kv.has(key)) {\n // console.log(`load ${key} from cache`)\n return this.kv.get(key);\n }\n\n const result = fn();\n if (result instanceof Promise) {\n const promiseResult = result.then((res) => {\n this.kv.set(key, res, config);\n return res;\n });\n this.kv.set(key, promiseResult, config);\n return promiseResult;\n } else {\n this.kv.set(key, result, config);\n return result;\n }\n }\n}\n\nexport type GetOptions = {\n multicall?: boolean | MulticallBatchOptions;\n rpcUrls?: Chain[\"rpcUrls\"];\n pollingInterval?: number;\n};\n\nexport class AIem<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }> {\n static cache?: Cache = new Cache();\n cache?: Cache = new Cache();\n contractMap?: Contracts;\n //@ts-ignore\n chainMap?: Chains = {\n [iotex.id]: iotex,\n [mainnet.id]: mainnet,\n [bsc.id]: bsc,\n [polygon.id]: polygon,\n [iotexTestnet.id]: iotexTestnet,\n [iotexBabelNightly.id]: iotexBabelNightly,\n };\n nameMap?: Addrs;\n contracts: {\n [K in keyof Addrs & keyof Contracts]: {\n //@ts-ignore\n [KK in keyof Addrs[K]]: GetContractReturnType<Contracts[K], PublicClient<HttpTransport, Chain, any, any>, any, any>;\n };\n };\n static defaultFuncMap = {\n totalSupply: { ttl: 15 * 1000 },\n symbol: { ttl: 60 * 1000 },\n name: { ttl: 60 * 1000 },\n decimals: { ttl: 60 * 1000 },\n balanceOf: { ttl: 5 * 1000 },\n };\n funcMap?: { [key: string]: { ttl?: number } } = {};\n\n get _cache() {\n return AIem.cache;\n }\n\n //@ts-ignore\n getWallet?: () => WalletClient;\n\n static Set<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }>(\n args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\">,\n ) {\n return this.init().Set(args);\n }\n\n Set<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }>(\n args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\">,\n ): AIem<Contracts, Chains, Addrs> {\n const { chainMap = {}, contractMap = {}, funcMap, ...rest } = args || {};\n //@ts-ignore\n this.chainMap = Object.assign({}, this.chainMap || {}, chainMap);\n //@ts-ignore\n this.contractMap = Object.assign({}, this.contractMap || {}, contractMap);\n //@ts-ignore\n this.funcMap = Object.assign({}, this.funcMap || {}, funcMap);\n\n Object.assign(this, rest);\n return this as any;\n }\n\n constructor(args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\"> = {}) {\n this.Set(args);\n\n this.contracts = new Proxy(\n {},\n {\n //@ts-ignore\n get: (target: any, contractName: keyof Addrs & keyof Contracts) => {\n if (target[contractName]) return target[contractName];\n\n if (!this.nameMap[contractName]) {\n throw new Error(`Contract ${String(contractName)} not found`);\n }\n\n target[contractName] = new Proxy(\n {},\n {\n //@ts-ignore\n get: (innerTarget: any, contractAlias: keyof Addrs[keyof Addrs]) => {\n const addressStr = this.nameMap[contractName]?.[contractAlias];\n if (!addressStr) {\n throw new Error(`Alias ${String(contractAlias)} for contract ${String(contractName)} not found`);\n }\n const [chainId, address] = addressStr.split(\"-\");\n\n // Assuming getContractInstance is a function that retrieves a contract instance\n return this.Get(contractName, String(chainId), address as `0x${string}`);\n },\n },\n );\n return target[contractName];\n },\n },\n ) as any;\n }\n\n // WsClient<C extends keyof Chains>(chainId: C): PublicClient<WebSocketTransport, Chain, any, any> {\n // //@ts-ignore\n // return this.cache.wrap(`wsClient-${String(chainId)}`, () => {\n // // const wsUrl = this.chainMap[chainId]?.rpcUrls?.default?.webSocket?.[0]\n // // if (!wsUrl) throw new Error(`rpcUrls.default.webSocket[0] is not defined for chainId ${String(chainId)}`)\n // // //@ts-ignore\n // return createPublicClient({\n // //@ts-ignore\n // chain: this.chainMap[chainId],\n // transport: webSocket()\n // }) as PublicClient<WebSocketTransport, Chain, any, any>\n // })\n // }\n\n static PubClient(chainId: string, options: GetOptions = { multicall: true }): PublicClient<HttpTransport, Chain, any, any> {\n //@ts-ignore\n return this.init().PubClient(chainId, options);\n }\n\n PubClient<C extends keyof Chains>(chainId: C, options: GetOptions = { multicall: true }): PublicClient<HttpTransport, Chain, any, any> {\n const chain = this.chainMap[chainId];\n if (options.rpcUrls) {\n chain.rpcUrls = options.rpcUrls;\n }\n //@ts-ignore\n return this._cache.wrap(`publicClient-${String(chainId)}-${chain.rpcUrls.default.http}-${JSON.stringify(options?.multicall)}-${options?.pollingInterval}`, () => {\n //@ts-ignore\n return createPublicClient({\n //@ts-ignore\n chain,\n ...(options?.multicall\n ? {\n batch: {\n multicall: typeof options.multicall === \"boolean\" ? true : options.multicall,\n },\n }\n : {}),\n ...(options?.pollingInterval\n ? {\n pollingInterval: options.pollingInterval,\n }\n : {\n pollingInterval: 2500,\n }),\n //@ts-ignore\n transport: http(),\n });\n });\n }\n\n //@ts-ignore\n static Get<TAbi extends Abi = any, ReturnType extends GetContractReturnType<TAbi, WalletClient<Transport, Chain, Account>>>(\n abi: TAbi,\n chainId: any,\n address: any,\n wallet?: WalletClient,\n //@ts-ignore\n options?: GetOptions = { multicall: true },\n //@ts-ignore\n ): ReturnType & { encode: ReturnType[\"write\"] } {\n const aiem = this.init();\n if (!wallet) {\n wallet = aiem.getWallet ? aiem.getWallet() : null;\n }\n\n const cacheKey = `contract ${chainId}-${address}-${wallet ? wallet.account.address : null}`;\n return aiem._cache.wrap(cacheKey, () => {\n //@ts-ignore\n const pubClient = aiem.PubClient(chainId, options);\n\n //@ts-ignore\n return aiem.getContract({\n client: {\n //@ts-ignore\n public: pubClient,\n //@ts-ignore\n wallet,\n },\n address,\n abi,\n });\n }) as any;\n }\n\n //@ts-ignore\n Get<K extends keyof Contracts, C extends keyof Chains, Addr extends `0x${string}`>(\n contractName: K,\n chainId: C,\n address: Addr,\n options: GetOptions = { multicall: true },\n //@ts-ignore\n ): GetContractReturnType<Contracts[K], PublicClient<HttpTransport, Chain, any, any>> & { encode: GetContractReturnType<Contracts[K], WalletClient<HttpTransport, Chain, Account, any>>[\"write\"] } {\n const wallet = this.getWallet ? this.getWallet() : null;\n //@ts-ignore\n const cacheKey = `contract ${chainId}-${address}-${wallet ? wallet.account.address : null}`;\n return this._cache.wrap(cacheKey, () => {\n //@ts-ignore\n const contract = this.contractMap[contractName];\n //@ts-ignore\n const pubClient = this.PubClient(chainId, options);\n\n //@ts-ignore\n return this.getContract({\n client: {\n //@ts-ignore\n public: pubClient,\n //@ts-ignore\n wallet,\n },\n address,\n abi: contract,\n });\n }) as any;\n }\n\n getContract({\n client,\n address,\n abi,\n }: {\n client: {\n public: PublicClient<HttpTransport, Chain, any, any>;\n wallet?: WalletClient;\n };\n address: `0x${string}`;\n abi: any;\n }) {\n const handler = {\n get: (target: any, funcName: any) => {\n if (funcName == \"encode\") {\n return new Proxy(\n {},\n {\n get(t1, f1) {\n return async (args: any) => {\n // @ts-ignore\n return encodeFunctionData({\n abi,\n functionName: f1,\n args,\n });\n };\n },\n },\n );\n }\n\n if (typeof target[funcName] === \"function\") {\n return async (...args: any[]) => {\n const methodConfig = this.funcMap?.[funcName as string];\n // const cacheKey = `method:${client.public.chain.id}-${address}-${String(funcName)}-${JSON.stringify(args)}`;\n const cacheKey = `call ${client.public.chain.id}-${address}-${funcName}-${JSON.stringify(args)}`;\n\n if (methodConfig) {\n return this.cache.wrap(\n cacheKey,\n () => {\n return target[funcName](...args);\n },\n methodConfig,\n );\n }\n\n return target[funcName](...args);\n };\n }\n return new Proxy(target[funcName], handler);\n },\n };\n\n //@ts-ignore\n const contract = getContract({\n //@ts-ignore\n client,\n address,\n abi,\n });\n return new Proxy(contract, handler) as any;\n }\n\n static init(): AIem<any, any, any> {\n if (!globalThis.aiem) {\n //@ts-ignore\n globalThis.aiem = new AIem();\n }\n\n return globalThis.aiem;\n }\n\n static async getPrice({ chainId = \"4689\", address }: { chainId?: string; address: string }) {\n const priceMap = await this.cache.wrap(\n `token-price`,\n async () => {\n const res = await (await fetch(\"https://api.iopay.me/api/rest/price\")).json();\n return Object.values(res)\n .flat()\n .reduce((p, c: { platforms: string; current_price: number }) => {\n p[`${4689}-${c.platforms.toLowerCase()}`] = c.current_price;\n return p;\n }, {});\n },\n { ttl: 1000 * 60 },\n );\n return priceMap[`${chainId}-${address}`];\n }\n\n static utils = {\n autoFormat: async ({ value, decimals, chainId, address }: { value: string; decimals?: number; chainId: string; address: string }) => {\n if (!decimals) {\n //@ts-ignore\n decimals = await this.cache.wrap(`${chainId}-${address}-decimals`, async () => {\n //@ts-ignore\n return this.Get(ERC20ABI, chainId, address).read.decimals();\n });\n }\n const wrap = helper.number.warpBigNumber(value, decimals, { format: \"0,0.000000\", fallback: \"\" });\n const price = await this.getPrice({ chainId, address: address.toLowerCase() });\n const usd = new BigNumber(wrap.originFormat).multipliedBy(price || 0).toFixed(2);\n return { ...wrap, usd, price };\n },\n };\n\n static QueryMany<E, S extends QuerySelect<E>>(entity: ClassType<E>, select: S) {\n return async (_entities: Partial<E>[]): Promise<QueryReturnType<E, S>[]> => {\n //@ts-ignore\n return this.Query(entity, select)(_entities) as any;\n };\n }\n\n static Query<E, S extends QuerySelect<E>>(entity: ClassType<E>, select: S) {\n return async (entities: Partial<E>): Promise<QueryReturnType<E, S>> => {\n const isArrayInput = Array.isArray(entities);\n\n try {\n const results: Array<QueryReturnType<E, S>> = [];\n\n if (!isArrayInput) {\n //@ts-ignore\n entities = [entities];\n }\n //@ts-ignore\n for (const entityData of entities) {\n const instance = Object.assign(new entity(), entityData);\n // const result: any = {};\n\n const fetchFields = async (obj: any, sel: any) => {\n const promises = [];\n for (const key in sel) {\n // return console.log(key, getFieldMetadata(obj, key))\n // Check if the property is annotated with @Fields.read(), @Fields.custom(), or @Fields.contract()\n const fieldMetadata = getFieldMetadata(obj, key);\n let call: any;\n //@ts-ignore\n const enableMulticall = entity.multicall == false ? false : true;\n // console.log(key, fieldMetadata, instance)\n if (sel[key] == false) {\n call = async () => null;\n } else {\n switch (fieldMetadata?.type) {\n case \"read\":\n if (Array.isArray(sel[key])) {\n //@ts-ignore\n call = () => this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[key](sel[key]);\n } else {\n //@ts-ignore\n call = () => this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[key]();\n }\n break;\n case \"write\":\n // @ts-ignore\n obj[key] = encodeFunctionData({\n //@ts-ignore\n abi: entity.abi,\n functionName: key,\n args: sel[key],\n });\n\n break;\n case \"custom\":\n const func = fieldMetadata.func;\n call = () => func(instance);\n break;\n case \"entity\":\n const targetMetadata = getFieldMetadata(instance, fieldMetadata.targetKey);\n\n if (typeof fieldMetadata.targetKey == \"string\") {\n if (targetMetadata?.options?.ttl) {\n //@ts-ignore\n const cacheKey = `call ${instance.chainId}-${instance.address}-${fieldMetadata.targetKey}`;\n //@ts-ignore\n call = () =>\n new Promise(async (resolve) => {\n //@ts-ignore\n const address = await this.cache.wrap(cacheKey, async () =>\n //@ts-ignore\n this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[fieldMetadata.targetKey](),\n );\n //@ts-ignore\n resolve(this.Query(fieldMetadata.entity(), sel[key])({ address, chainId: instance.chainId }));\n });\n } else {\n call = () =>\n //@ts-ignore\n this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall })\n //@ts-ignore\n .read[fieldMetadata.targetKey]()\n .then((address: any) => {\n // console.log({ address, sel: sel[key] })\n //@ts-ignore\n return this.Query(fieldMetadata.entity(), sel[key])({ address, chainId: instance.chainId });\n });\n }\n } else {\n //@ts-ignore\n call = () =>\n fieldMetadata.targetKey(instance).then((args) => {\n // console.log(args)\n return Array.isArray(args) ? this.QueryMany(fieldMetadata.entity(), sel[key])(args) : this.Query(fieldMetadata.entity(), sel[key])(args);\n });\n }\n break;\n default:\n if (typeof obj[key] == \"function\") {\n call = () => obj[key](...(Array.isArray(sel[key]) ? sel[key] : []));\n }\n break;\n }\n }\n\n if (call) {\n if (fieldMetadata?.options?.ttl) {\n //@ts-ignore\n const cacheKey = `call ${instance.chainId}-${instance.address}-${key}-${JSON.stringify(sel[key])}`;\n promises.push(\n new Promise(async (resolve) => {\n const value = await this.cache.wrap(cacheKey, async () => call().catch((i) => null), fieldMetadata.options);\n obj[key] = value;\n resolve(value);\n }),\n );\n } else {\n promises.push(\n call()\n .then((value) => {\n obj[key] = value;\n })\n .catch((i) => (obj[key] = null)),\n );\n }\n }\n }\n\n await Promise.all(promises);\n };\n\n await fetchFields(instance, select);\n //@ts-ignore\n results.push(instance);\n }\n\n if (isArrayInput) {\n return results as any;\n } else {\n return results[0] as any;\n }\n } catch (error) {\n if (isArrayInput) {\n return [] as any;\n } else {\n return null as any;\n }\n }\n };\n }\n}\nexport type Item<T> = T extends (infer U)[] ? U : T;\n\n// export type QueryResult<E, S extends QuerySelect<E>> =\n// E extends Array<any> ? Promise<Array<QueryReturnType<E[number], S>>> :\n// E extends object ? Promise<QueryReturnType<E, S>> :\n// never;\n\ntype QuerySelect<E> = {\n [K in keyof E]?: E[K] extends (...args: any[]) => any ? Parameters<E[K]> | boolean : E[K] extends object ? QuerySelect<Item<E[K]>> | boolean : boolean;\n};\n\n// type FunctionReturn<T> = T extends (...args: any[]) => any ? Awaited<ReturnType<T>> : T;\n// type NestedReturn<E, S> = E extends object ? S extends object ? QueryReturnType<E, S> : E : E;\n\nexport type QueryReturnType<E, S extends QuerySelect<E>> = {\n [K in keyof E]: K extends keyof S\n ? E[K] extends (...args: any[]) => any\n ? Awaited<ReturnType<E[K]>>\n : E[K] extends object\n ? S[K] extends object\n ? QueryReturnType<E[K], S[K]>\n : E[K]\n : E[K]\n : E[K];\n};\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { AIem } from './chunk-
|
|
1
|
+
import { AIem } from './chunk-DSRTQO5D.mjs';
|
|
2
2
|
import { DialogStore } from './chunk-TEVYTENF.mjs';
|
|
3
3
|
import { ToastPlugin } from './chunk-IMOLRP7I.mjs';
|
|
4
4
|
import { RootStore, rootStore } from './chunk-XSGTWROT.mjs';
|
|
5
|
-
import { helper } from './chunk-
|
|
5
|
+
import { helper } from './chunk-5KJLNQQ4.mjs';
|
|
6
6
|
import { __spreadProps, __spreadValues } from './chunk-YOSPWY5K.mjs';
|
|
7
7
|
import { observable, makeAutoObservable } from 'mobx';
|
|
8
8
|
import BigNumber2 from 'bignumber.js';
|
|
9
9
|
import React3, { useEffect } from 'react';
|
|
10
10
|
import { useRouter } from 'next/router.js';
|
|
11
11
|
import { observer } from 'mobx-react-lite';
|
|
12
|
-
import { toHex, createWalletClient, custom, publicActions } from 'viem';
|
|
12
|
+
import { http, toHex, createWalletClient, custom, publicActions } from 'viem';
|
|
13
13
|
import EventEmitter from 'events';
|
|
14
14
|
import { useAccount, useSwitchChain, useConnect, useDisconnect, useWalletClient } from 'wagmi';
|
|
15
15
|
import { getDefaultConfig, useConnectModal } from '@rainbow-me/rainbowkit';
|
|
@@ -325,12 +325,25 @@ var WalletConfigStore = class {
|
|
|
325
325
|
get rainbowKitConfig() {
|
|
326
326
|
var _a;
|
|
327
327
|
return ObjectPool.get(`rainbowKitConfig-${(_a = this.supportedChains) == null ? void 0 : _a.map((i) => i.id).join("-")}`, () => {
|
|
328
|
+
const transports = this.supportedChains.reduce(
|
|
329
|
+
(acc, chain) => {
|
|
330
|
+
var _a2, _b, _c;
|
|
331
|
+
const rpcUrl = (_c = (_b = (_a2 = chain.rpcUrls) == null ? void 0 : _a2.default) == null ? void 0 : _b.http) == null ? void 0 : _c[0];
|
|
332
|
+
if (rpcUrl) {
|
|
333
|
+
acc[chain.id] = http(rpcUrl);
|
|
334
|
+
}
|
|
335
|
+
return acc;
|
|
336
|
+
},
|
|
337
|
+
{}
|
|
338
|
+
);
|
|
328
339
|
return getDefaultConfig({
|
|
329
340
|
pollingInterval: 2500,
|
|
330
341
|
appName: this.appName,
|
|
331
342
|
projectId: this.projectId,
|
|
332
343
|
//@ts-ignore
|
|
333
344
|
chains: this.supportedChains,
|
|
345
|
+
transports,
|
|
346
|
+
// Explicitly set transports to use our custom RPC URLs
|
|
334
347
|
wallets: [
|
|
335
348
|
{
|
|
336
349
|
groupName: "Recommended",
|
|
@@ -1259,5 +1272,5 @@ var AppProvider = observer(({ children }) => {
|
|
|
1259
1272
|
});
|
|
1260
1273
|
|
|
1261
1274
|
export { AppProvider, AutoMan, BigNumberInputState, BigNumberState, ConnectLedger, DisconnectLedger, ObjectPool, PromiseHook, StorageListState, StorageState, WalletConfigStore, WalletHistoryStore, WalletRpcStore, WalletStore };
|
|
1262
|
-
//# sourceMappingURL=chunk-
|
|
1263
|
-
//# sourceMappingURL=chunk-
|
|
1275
|
+
//# sourceMappingURL=chunk-K7Z7CLO2.mjs.map
|
|
1276
|
+
//# sourceMappingURL=chunk-K7Z7CLO2.mjs.map
|