@dappworks/kit 0.5.37 → 0.5.38

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.
Files changed (63) hide show
  1. package/dist/aiem.mjs +4 -4
  2. package/dist/{chunk-2BZKMJZX.mjs → chunk-2N4HH4ZF.mjs} +1 -1
  3. package/dist/chunk-2N4HH4ZF.mjs.map +1 -0
  4. package/dist/{chunk-NKGQRF5D.mjs → chunk-C5BPNLKH.mjs} +3 -3
  5. package/dist/chunk-C5BPNLKH.mjs.map +1 -0
  6. package/dist/{chunk-5BTB7HRK.mjs → chunk-FJHGIW3I.mjs} +2 -2
  7. package/dist/chunk-FJHGIW3I.mjs.map +1 -0
  8. package/dist/{chunk-R66SHRQE.mjs → chunk-GKAU4P5I.mjs} +2 -2
  9. package/dist/chunk-GKAU4P5I.mjs.map +1 -0
  10. package/dist/{chunk-KIS52LFU.mjs → chunk-IDKGZ5T4.mjs} +1 -1
  11. package/dist/chunk-IDKGZ5T4.mjs.map +1 -0
  12. package/dist/{chunk-7EL2RQI7.mjs → chunk-IMOLRP7I.mjs} +1 -1
  13. package/dist/chunk-IMOLRP7I.mjs.map +1 -0
  14. package/dist/{chunk-AVG4JG4V.mjs → chunk-ISV4OEKJ.mjs} +5 -5
  15. package/dist/chunk-ISV4OEKJ.mjs.map +1 -0
  16. package/dist/{chunk-2PD23V7H.mjs → chunk-K7LFG5BA.mjs} +1 -1
  17. package/dist/{chunk-2PD23V7H.mjs.map → chunk-K7LFG5BA.mjs.map} +1 -1
  18. package/dist/{chunk-7LPSHBBI.mjs → chunk-KB3B3XTN.mjs} +12 -8
  19. package/dist/chunk-KB3B3XTN.mjs.map +1 -0
  20. package/dist/{chunk-SPFKGNUY.mjs → chunk-M5Y3VYMJ.mjs} +1 -1
  21. package/dist/{chunk-SPFKGNUY.mjs.map → chunk-M5Y3VYMJ.mjs.map} +1 -1
  22. package/dist/{chunk-Z3LJE5QF.mjs → chunk-ONVPCAMQ.mjs} +1 -1
  23. package/dist/chunk-ONVPCAMQ.mjs.map +1 -0
  24. package/dist/{chunk-WMV5O3PI.mjs → chunk-QDALAJJK.mjs} +2 -2
  25. package/dist/chunk-QDALAJJK.mjs.map +1 -0
  26. package/dist/{chunk-7WJMHFRA.mjs → chunk-R4N52NI2.mjs} +2 -2
  27. package/dist/chunk-R4N52NI2.mjs.map +1 -0
  28. package/dist/{chunk-72E76L6J.mjs → chunk-SL5OV6OR.mjs} +3 -3
  29. package/dist/chunk-SL5OV6OR.mjs.map +1 -0
  30. package/dist/dev.mjs +3 -3
  31. package/dist/dev.mjs.map +1 -1
  32. package/dist/experimental.mjs +4 -4
  33. package/dist/experimental.mjs.map +1 -1
  34. package/dist/form.mjs +5 -5
  35. package/dist/form.mjs.map +1 -1
  36. package/dist/index.mjs +11 -11
  37. package/dist/inspector.mjs.map +1 -1
  38. package/dist/jsoncomponent.mjs.map +1 -1
  39. package/dist/jsontable.mjs +5 -5
  40. package/dist/metrics.mjs +5 -5
  41. package/dist/metrics.mjs.map +1 -1
  42. package/dist/plugins.mjs +8 -8
  43. package/dist/plugins.mjs.map +1 -1
  44. package/dist/ui.mjs +2 -2
  45. package/dist/ui.mjs.map +1 -1
  46. package/dist/utils.d.mts +100 -19
  47. package/dist/utils.mjs +3 -3
  48. package/dist/wallet.d.mts +4 -1
  49. package/dist/wallet.mjs +12 -12
  50. package/dist/wallet.mjs.map +1 -1
  51. package/package.json +1 -1
  52. package/dist/chunk-2BZKMJZX.mjs.map +0 -1
  53. package/dist/chunk-5BTB7HRK.mjs.map +0 -1
  54. package/dist/chunk-72E76L6J.mjs.map +0 -1
  55. package/dist/chunk-7EL2RQI7.mjs.map +0 -1
  56. package/dist/chunk-7LPSHBBI.mjs.map +0 -1
  57. package/dist/chunk-7WJMHFRA.mjs.map +0 -1
  58. package/dist/chunk-AVG4JG4V.mjs.map +0 -1
  59. package/dist/chunk-KIS52LFU.mjs.map +0 -1
  60. package/dist/chunk-NKGQRF5D.mjs.map +0 -1
  61. package/dist/chunk-R66SHRQE.mjs.map +0 -1
  62. package/dist/chunk-WMV5O3PI.mjs.map +0 -1
  63. package/dist/chunk-Z3LJE5QF.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../store/root.ts","../store/index.ts"],"names":[],"mappings":";AAAA,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB,sBAAsB;AAGnD,SAAS,0BAA0B;AAO5B,IAAM,YAAN,cAAwB,aAAa;AAAA,EAa1C,cAAc;AACZ,UAAM;AACN,mBAAe,MAAM;AAAA;AAAA,IAErB,CAAC;AAAA,EACH;AAAA,EAfA,KAAK,SAAc,MAAa;AAC9B,QAAI,QAAQ,IAAI,YAAY,eAAe;AACzC,YAAM,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAAA,IAChC;AAKA,WAAO,MAAM,KAAK,MAAM,GAAG,IAAI,KAAK,MAAM,KAAK,IAAI,GAAG,IAAI;AAAA,EAC5D;AAOF;AAEO,IAAM,YAAN,MAAM,WAAoC;AAAA,EAqG/C,YAAY,OAA8B,CAAC,GAAG;AApG9C,uBAAc,oBAAI,IAAkC;AACpD,oBAAkC,CAAC;AAEnC,qBAAqB,CAAC;AAEtB,kBAA0B,IAAI,UAAU;AACxC,oBAAW;AA+FT,WAAO,OAAO,MAAM,IAAI;AACxB,mBAAe,MAAM;AAAA,MACnB,WAAW;AAAA,IACb,CAAC;AACD,SAAK,WAAW,IAAI;AAAA,EACtB;AAAA,EAlGA,OAAO,KAAyB,OAA8B,CAAC,GAAiB;AAC9E,QAAI,CAAC,WAAW,OAAO;AAErB,iBAAW,QAAQ,IAAI,WAAU,IAAI;AAAA,IACvC;AAEA,WAAO,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,OAAc,EAAE,IAAI,IAAsB,CAAC,GAAG;AAChD,QAAI,MAAM,UAAU;AAClB;AAAA,IACF;AAEA,UAAM,gBAAgB,MAAM,MAAM;AAClC,UAAM,aAAa,MAAM,MAAM,MAAM;AAErC,QAAI,CAAC,KAAK,IAAI,MAAM,WAAW,GAAG;AAChC,WAAK,YAAY,IAAI,MAAM,aAAa,oBAAI,IAAI,CAAC;AAAA,IACnD;AAEA,QAAI,KAAK,YAAY,IAAI,MAAM,WAAW,EAAE,IAAI,aAAa,GAAG;AAC9D,cAAQ,MAAM,SAAS,MAAM,GAAG,iBAAiB;AACjD;AACA,YAAM,IAAI,MAAM,SAAS,MAAM,GAAG,iBAAiB;AAAA,IACrD;AACA,QAAI,MAAM,gBAAgB;AACxB,yBAAmB,KAAK;AAAA,IAC1B;AACA,QAAI,MAAM,UAAU;AAClB,WAAK,UAAU,KAAK,KAAK;AAAA,IAC3B;AACA,QAAI,MAAM,YAAY;AACpB,WAAK,OAAO,GAAG,OAAO,CAAC,MAAa;AAClC,cAAM,WAAW,EAAE,WAAW,MAAM,OAAO,EAAE,CAAC;AAAA,MAChD,CAAC;AAAA,IACH;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,QAAQ,EAAE,WAAW,KAAK,CAAC;AAAA,IACnC;AACA,QAAI,MAAM,QAAQ;AAChB,WAAK,UAAU,MAAM,MAAM;AAAA,IAC7B;AAEA,QAAI,MAAM,QAAQ;AAChB,aAAO,QAAQ,MAAM,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACrD,aAAK,OAAO,GAAG,IAAI,MAAa,IAAI,OAAO;AAAA,MAC7C,CAAC;AAAA,IACH;AAcA,SAAK,YAAY,IAAI,MAAM,WAAW,EAAE,IAAI,eAAe,KAAK;AAChE,SAAK,SAAS,UAAU,IAAI;AAE5B,SAAK,OAAO,KAAK,OAAO,KAAK;AAE7B,QAAI,MAAM,MAAM;AACd,YAAM,KAAK;AAAA,IACb;AAAA,EAEF;AAAA,EAEA,UAAU,OAAgB;AACxB,UAAM,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AAChC,WAAO;AAAA,EACT;AAAA,EAEA,IAAqB,OAAsB,SAA8C,CAAC,GAAM;AAC9F,UAAM,gBAAgB,OAAO,MAAM,OAAO,MAAM;AAChD,UAAM,QAAQ,KAAK,YAAY,IAAI,KAAK,KAAK,KAAK,YAAY,IAAI,KAAK,EAAE,IAAI,aAAa;AAC1F,QAAI,CAAC,OAAO;AACV,WAAK,IAAI,IAAI,MAAM,OAAO,QAAQ,CAAC,CAAC,GAAG,MAAM;AAAA,IAC/C;AACA,WAAO,KAAK,YAAY,IAAI,KAAK,EAAE,IAAI,aAAa;AAAA,EACtD;AAAA,EAEO,IAAI,OAA0B;AACnC,WAAO,KAAK,YAAY,IAAI,KAAK;AAAA,EACnC;AAAA,EAUA,WAAW,KAAa;AACtB,WAAO,OAAO,GAAG,EAAE,QAAQ,CAAC,UAAU;AACpC,UAAI,+BAAO,KAAK;AACd,aAAK,IAAI,KAAK;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,IAAqB,OAAsB,SAA8C,CAAC,GAAM;AACrG,WAAO,KAAK,KAAK,EAAE,IAAI,OAAO,MAAM;AAAA,EACtC;AAAA,EAEA,OAAO,MAAS,MAAe,SAA8C,CAAC,GAAG,KAAc;AAC7F,UAAM,MAAM,mBAAmB,MAAM,GAAG;AACxC,eAAU,KAAK,EAAE,SAAS,WAAW,OAAO,GAAG,IAAI;AACnD,WAAO;AAAA,EACT;AACF;;;AC5JO,IAAM,YAAY,UAAU,KAAe;AAE3C,IAAM,WAAW,MAAM,UAAU,KAAK","sourcesContent":["import { EventEmitter } from \"events\";\r\nimport { makeAutoObservable, makeObservable } from \"mobx\";\r\nimport type TypedEmitter from \"typed-emitter\";\r\nimport { type Store, type StoreClass } from \"./standard/base\";\r\nimport { useLocalObservable } from \"mobx-react-lite\";\r\n\r\nexport type EventMap = {\r\n \"*\": (args: any) => void;\r\n add: (store: Store) => void;\r\n};\r\n\r\nexport class MyEmitter extends EventEmitter {\r\n // metas: Record<string, { count: number }> = {};\r\n _events: Record<string, any>;\r\n emit(type: any, ...args: any[]) {\r\n if (process.env.NODE_ENV == \"development\") {\r\n super.emit(\"*\", { type, args });\r\n }\r\n // if (!this.metas[type]) {\r\n // this.metas[type] = { count: 0 };\r\n // }\r\n // this.metas[type].count++;\r\n return super.emit(type, ...args) || super.emit(\"\", ...args);\r\n }\r\n constructor() {\r\n super();\r\n makeObservable(this, {\r\n // metas: true,\r\n });\r\n }\r\n}\r\n\r\nexport class RootStore<T extends EventMap = any> {\r\n instanceMap = new Map<Function, Map<string, Store>>();\r\n instance: Record<string, Store> = {};\r\n\r\n providers: Store[] = [];\r\n\r\n events: TypedEmitter<T> = new MyEmitter() as TypedEmitter<T>;\r\n isInited = false;\r\n\r\n static init<T extends EventMap>(args: Partial<RootStore<T>> = {}): RootStore<T> {\r\n if (!globalThis.store) {\r\n //@ts-ignore\r\n globalThis.store = new RootStore(args);\r\n }\r\n\r\n return globalThis.store;\r\n }\r\n\r\n add(store: Store, { sid }: { sid?: string } = {}) {\r\n if (store.disabled) {\r\n return;\r\n }\r\n\r\n const instanceMapId = sid ? sid : \"singleton\";\r\n const instanceId = sid ? sid : store.sid;\r\n\r\n if (!this.has(store.constructor)) {\r\n this.instanceMap.set(store.constructor, new Map());\r\n }\r\n\r\n if (this.instanceMap.get(store.constructor).get(instanceMapId)) {\r\n console.error(`Store ${store.sid} already exists`);\r\n return;\r\n throw new Error(`Store ${store.sid} already exists`);\r\n }\r\n if (store.autoObservable) {\r\n makeAutoObservable(store);\r\n }\r\n if (store.provider) {\r\n this.providers.push(store);\r\n }\r\n if (store.onNewStore) {\r\n this.events.on(\"add\", (e: Store) => {\r\n store.onNewStore({ rootStore: this, store: e });\r\n });\r\n }\r\n\r\n if (store.onAdded) {\r\n store.onAdded({ rootStore: this });\r\n }\r\n if (store.stores) {\r\n this.addStores(store.stores);\r\n }\r\n\r\n if (store.events) {\r\n Object.entries(store.events).forEach(([event, val]) => {\r\n this.events.on(val.name as any, val.handler);\r\n });\r\n }\r\n\r\n // if (helper.env.isBrowser && store.onKeyBindings) {\r\n // const res = store.onKeyBindings()\r\n // res.forEach(({ key, fn }: { key: string[], fn: (ev: KeyboardEvent) => void }) => {\r\n // useEffect(() => {\r\n // window.addEventListener(\"keydown\", fn);\r\n // return () => {\r\n // window.removeEventListener(\"keydown\", fn);\r\n // }\r\n // }, [])\r\n // })\r\n // }\r\n\r\n this.instanceMap.get(store.constructor).set(instanceMapId, store);\r\n this.instance[instanceId] = store;\r\n //@ts-ignore\r\n this.events.emit(\"add\", store);\r\n\r\n if (store.init) {\r\n store.init();\r\n }\r\n // this.crawlStore(store);\r\n }\r\n\r\n addStores(store: Store[]) {\r\n store.forEach((i) => this.add(i));\r\n return this;\r\n }\r\n\r\n get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\r\n const instanceMapId = config.sid ? config.sid : \"singleton\";\r\n const valid = this.instanceMap.has(store) && this.instanceMap.get(store).has(instanceMapId);\r\n if (!valid) {\r\n this.add(new store(config.args || {}), config);\r\n }\r\n return this.instanceMap.get(store).get(instanceMapId) as T;\r\n }\r\n\r\n public has(store: Function): boolean {\r\n return this.instanceMap.has(store);\r\n }\r\n\r\n constructor(args: Partial<RootStore<T>> = {}) {\r\n Object.assign(this, args);\r\n makeObservable(this, {\r\n providers: true,\r\n });\r\n this.crawlStore(this);\r\n }\r\n\r\n crawlStore(obj: Object) {\r\n Object.values(obj).forEach((value) => {\r\n if (value?.sid) {\r\n this.add(value);\r\n }\r\n });\r\n }\r\n\r\n static Get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\r\n return this.init().get(store, config);\r\n }\r\n\r\n static Local<T>(func: () => T, config: { sid?: string; args?: Partial<T> } = {}, ann?: any): T {\r\n const val = useLocalObservable(func, ann);\r\n RootStore.init().instance[\"Local.\" + config.sid] = val;\r\n return val;\r\n }\r\n}\r\n","import { RootStore, EventMap } from \"./root\";\r\n\r\nexport const rootStore = RootStore.init<EventMap>();\r\n\r\nexport const useStore = () => RootStore.init();\r\n\r\nexport { RootStore };\r\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../module/Dialog/index.tsx","../module/Dialog/Provider.tsx"],"names":["React","rootStore"],"mappings":";;;;;;;;;;;;;AAAA,OAAOA,YAAW;AAClB,SAAS,0BAA0B;;;ACDnC,OAAO,WAAW;AAClB,SAAS,OAAO,WAAW,cAAc,mBAAmB;AAC5D,SAAS,gBAAgB;AAIzB,IAAM,SAAS,SAAS,MAAM;AAC5B,QAAMC,aAAY,SAAS;AAC3B,QAAM,QAAQA,WAAU,IAAI,WAAW;AACvC,QAAM,EAAE,WAAW,YAAY,QAAQ,WAAW,OAAO,MAAM,SAAS,cAAc,IAAI;AAC1F,QAAM,UAAU,OAAO,YAAY,aAAa,UAAU,MAAM;AAChE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc,CAAC,SAAkB;AAC/B,YAAI,CAAC,MAAM;AACT,gBAAM,MAAM;AAAA,QACd;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEA,oCAAC,gBAAa,WAAU,gCACrB,MACC,0DACG,SAAS,oCAAC,eAAY,WAAU,yBAAuB,KAAM,GAC9D,oCAAC,iBACC,oCAAC,aAAQ,CACX,CACF,CAEJ;AAAA,EACF;AAEJ,CAAC;AAED,IAAO,mBAAQ;;;AD/BR,IAAM,cAAN,MAAM,aAA6B;AAAA,EAcxC,YAAY,MAA6B;AAbzC,eAAM;AACN,oBAAW,MAAM,gBAAAD,OAAA,cAAC,sBAAS;AAE3B,kBAAS;AAET,iBAAQ;AACR,gBAAkF;AAClF,qBAAoB;AAEpB,iBAAmB;AACnB,mBAA+D;AAC/D,yBAAgB;AAGd,UAAM,aAAa,UAAS,6BAAM,UAAS,WAAW,OAAO;AAC7D,UAAM,aAAa,kCACd,WAAW,aACX,6BAAM;AAEX,WAAO,OAAO,MAAM,MAAM,EAAE,WAAW,CAAC;AACxC,uBAAmB,IAAI;AAAA,EACzB;AAAA,EAGA,QAAQ,GAAyB;AAC/B,WAAO,OAAO,MAAM,CAAC;AAAA,EACvB;AAAA,EAEA,QAAQ;AACN,SAAK,SAAS;AACd,SAAK,QAAQ;AACb,SAAK,UAAU;AACf,SAAK,OAAO;AACZ,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,OAAO,KAAK,GAAyB;AACnC,UAAM,aAAa,UAAS,uBAAG,UAAS,WAAW,OAAO;AAC1D,UAAM,aAAa,kCACd,WAAW,aACX,uBAAG;AAER,cAAU,IAAI,YAAW,EAAE,QAAQ,iCAC9B,IAD8B;AAAA,MAEjC;AAAA,MACA,QAAQ;AAAA,IAEV,EAAC;AAAA,EACH;AAAA,EAEA,OAAO,QAAQ;AACb,cAAU,IAAI,YAAW,EAAE,MAAM;AAAA,EACnC;AACF","sourcesContent":["import React from \"react\";\r\nimport { makeAutoObservable } from \"mobx\";\r\nimport { rootStore } from \"../../store\";\r\nimport { Store } from \"../../store/standard/base\";\r\nimport Provider from \"./Provider\";\r\nimport { ModalSlots, SlotsToClasses } from \"@nextui-org/react\";\r\nimport { getStyle, ThemeType } from \"../../themes\";\r\n\r\nexport class DialogStore implements Store {\r\n sid = \"DialogStore\";\r\n provider = () => <Provider />;\r\n\r\n isOpen = false;\r\n placement: \"center\" | \"auto\" | \"top\" | \"bottom\" | \"top-center\" | \"bottom-center\";\r\n title = \"\";\r\n size: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"full\" | \"xs\" | \"3xl\" | \"4xl\" | \"5xl\" = \"md\";\r\n className: string = \"\";\r\n classNames?: SlotsToClasses<ModalSlots>;\r\n theme: ThemeType = \"default\";\r\n content: React.ReactNode | ((props: any) => React.ReactNode) = \"\";\r\n isDismissable = true;\r\n\r\n constructor(args?: Partial<DialogStore>) {\r\n const modalStyle = getStyle(args?.theme || 'default', 'Modal');\r\n const classNames = {\r\n ...modalStyle.classNames,\r\n ...args?.classNames\r\n }\r\n Object.assign(this, args, { classNames });\r\n makeAutoObservable(this);\r\n }\r\n\r\n\r\n setData(v: Partial<DialogStore>) {\r\n Object.assign(this, v);\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n this.title = \"\";\r\n this.content = \"\";\r\n this.size = \"md\";\r\n this.isDismissable = true;\r\n }\r\n\r\n static show(v: Partial<DialogStore>) {\r\n const modalStyle = getStyle(v?.theme || 'default', 'Modal');\r\n const classNames = {\r\n ...modalStyle.classNames,\r\n ...v?.classNames\r\n }\r\n rootStore.get(DialogStore).setData({\r\n ...v,\r\n classNames,\r\n isOpen: true,\r\n\r\n });\r\n }\r\n\r\n static close() {\r\n rootStore.get(DialogStore).close();\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Modal, ModalBody, ModalContent, ModalHeader } from \"@nextui-org/react\";\r\nimport { observer } from \"mobx-react-lite\";\r\nimport { DialogStore } from \".\";\r\nimport { useStore } from \"../../store/index\";\r\n\r\nconst Dialog = observer(() => {\r\n const rootStore = useStore();\r\n const modal = rootStore.get(DialogStore);\r\n const { className, classNames, isOpen, placement, title, size, content, isDismissable } = modal;\r\n const Content = typeof content === 'function' ? content : () => content;\r\n return (\r\n <Modal\r\n isOpen={isOpen}\r\n size={size}\r\n placement={placement}\r\n onOpenChange={(open: boolean) => {\r\n if (!open) {\r\n modal.close();\r\n }\r\n }}\r\n className={className}\r\n classNames={classNames}\r\n isDismissable={isDismissable}\r\n >\r\n <ModalContent className=\"max-h-screen overflow-auto\">\r\n {() => (\r\n <>\r\n {title && <ModalHeader className=\"flex flex-col gap-1\">{title}</ModalHeader>}\r\n <ModalBody>\r\n <Content />\r\n </ModalBody>\r\n </>\r\n )}\r\n </ModalContent>\r\n </Modal >\r\n );\r\n});\r\n\r\nexport default Dialog;"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../themes/default.json","../themes/primary.json","../themes/index.ts"],"names":[],"mappings":";;;;;AAAA;AAAA,EACE,OAAS;AAAA,IACP,YAAc;AAAA,MACZ,MAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,aAAe;AAAA,IACb,YAAc;AAAA,MACZ,cAAgB;AAAA,IAClB;AAAA,EACF;AAAA,EACA,gBAAkB;AAAA,IAChB,YAAc;AAAA,MACZ,cAAgB;AAAA,IAClB;AAAA,EACF;AAAA,EACA,kBAAoB;AAAA,IAClB,qBAAuB;AAAA,MACrB,cAAgB;AAAA,IAClB;AAAA,EACF;AAAA,EACA,cAAgB;AAAA,IACd,YAAc;AAAA,MACZ,gBAAkB;AAAA,IACpB;AAAA,EACF;AAAA,EACA,sBAAwB;AAAA,IACtB,YAAc;AAAA,MACZ,MAAQ;AAAA,MACR,SAAW;AAAA,MACX,gBAAkB;AAAA,IACpB;AAAA,EACF;AAAA,EACA,gBAAkB;AAAA,IAChB,YAAc;AAAA,MACZ,MAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,MAAQ;AAAA,IACN,WAAa;AAAA,EACf;AACF;;;ACzCA;AAAA,EACE,OAAS;AAAA,IACP,YAAc;AAAA,MACZ,MAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,aAAe;AAAA,IACb,YAAc;AAAA,MACZ,cAAgB;AAAA,IAClB;AAAA,EACF;AAAA,EACA,gBAAkB;AAAA,IAChB,YAAc;AAAA,MACZ,cAAgB;AAAA,IAClB;AAAA,EACF;AAAA,EACA,kBAAoB;AAAA,IAClB,qBAAuB;AAAA,MACrB,cAAgB;AAAA,IAClB;AAAA,EACF;AAAA,EACA,cAAgB;AAAA,IACd,YAAc;AAAA,MACZ,SAAW;AAAA,MACX,gBAAkB;AAAA,IACpB;AAAA,EACF;AAAA,EACA,sBAAwB;AAAA,IACtB,YAAc;AAAA,MACZ,MAAQ;AAAA,MACR,SAAW;AAAA,MACX,gBAAkB;AAAA,IACpB;AAAA,EACF;AAAA,EACA,gBAAkB;AAAA,IAChB,YAAc;AAAA,MACZ,MAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,MAAQ;AAAA,IACN,WAAa;AAAA,EACf;AACF;;;AC3BO,IAAM,WAAW,CAAC,OAAkB,QAAmC;AAC5E,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO,EAAE,IAAI,iBAAc,GAAG,KAAK,CAAC;AAAA,IACtC,KAAK;AACH,aAAO,EAAE,IAAI,iBAAc,GAAG,KAAK,CAAC;AAAA,IACtC;AACE,aAAO,CAAC;AAAA,EACZ;AACF","sourcesContent":["{\r\n \"Modal\": {\r\n \"classNames\": {\r\n \"base\": \"\"\r\n }\r\n },\r\n \"InputWidget\": {\r\n \"classNames\": {\r\n \"inputWrapper\": \"\"\r\n }\r\n },\r\n \"TextareaWidget\": {\r\n \"classNames\": {\r\n \"inputWrapper\": \"\"\r\n }\r\n },\r\n \"DatePickerWidget\": {\r\n \"dateInputClassNames\": {\r\n \"inputWrapper\": \"\"\r\n }\r\n },\r\n \"SelectWidget\": {\r\n \"classNames\": {\r\n \"popoverContent\": \"rounded-lg shadow-md border dark:border-[#3e3e3e]\"\r\n }\r\n },\r\n \"MultipleSelectWidget\": {\r\n \"classNames\": {\r\n \"base\": \"w-full\",\r\n \"trigger\": \"min-h-12 py-1\",\r\n \"popoverContent\": \"rounded-lg shadow-md border dark:border-[#3e3e3e]\"\r\n }\r\n },\r\n \"CheckboxWidget\": {\r\n \"classNames\": {\r\n \"base\": \"m-0 flex items-center justify-start w-full cursor-pointer rounded-lg gap-2 p-[13px] bg-content2\"\r\n }\r\n },\r\n \"Card\": {\r\n \"className\": \"\"\r\n }\r\n}\r\n","{\r\n \"Modal\": {\r\n \"classNames\": {\r\n \"base\": \"dark:bg-[#09090B] border dark:border-[#2c2c2c] rounded-lg shadow-md\"\r\n }\r\n },\r\n \"InputWidget\": {\r\n \"classNames\": {\r\n \"inputWrapper\": \"rounded-lg shadow-none border dark:border-[#2c2c2c] !bg-transparent data-[hover=true]:!bg-default-50 group-data-[focus=true]:!bg-transparent\"\r\n }\r\n },\r\n \"TextareaWidget\": {\r\n \"classNames\": {\r\n \"inputWrapper\": \"rounded-lg shadow-none border dark:border-[#2c2c2c] !bg-transparent data-[hover=true]:!bg-default-50 group-data-[focus=true]:!bg-transparent\"\r\n }\r\n },\r\n \"DatePickerWidget\": {\r\n \"dateInputClassNames\": {\r\n \"inputWrapper\": \"rounded-lg bg-transparent border dark:border-[#2c2c2c] hover:bg-default-50\"\r\n }\r\n },\r\n \"SelectWidget\": {\r\n \"classNames\": {\r\n \"trigger\": \"rounded-lg bg-transparent shadow-none border dark:border-[#2c2c2c] data-[hover=true]:bg-default-50\",\r\n \"popoverContent\": \"rounded-lg shadow-md border border-[#F4F4F5] dark:border-[#3e3e3e]\"\r\n }\r\n },\r\n \"MultipleSelectWidget\": {\r\n \"classNames\": {\r\n \"base\": \"w-full\",\r\n \"trigger\": \"min-h-12 py-1 rounded-lg bg-transparent shadow-none border dark:border-[#2c2c2c] data-[hover=true]:bg-default-50\",\r\n \"popoverContent\": \"rounded-lg shadow-md border dark:border-[#3e3e3e]\"\r\n }\r\n },\r\n \"CheckboxWidget\": {\r\n \"classNames\": {\r\n \"base\": \"m-0 flex items-center justify-start w-full cursor-pointer rounded-lg gap-2 p-[13px] bg-transparent border dark:border-[#2c2c2c]\"\r\n }\r\n },\r\n \"Card\": {\r\n \"className\": \"dark:bg-[#09090B]\"\r\n }\r\n}\r\n","import { _ } from \"../lib/lodash\";\r\nimport defaultTheme from \"./default.json\";\r\nimport primaryTheme from \"./primary.json\";\r\n\r\nexport type ThemeType = \"default\" | \"primary\";\r\nexport type StyleKeyType = keyof typeof defaultTheme;\r\n\r\n// Define the return type for style objects\r\nexport type StyleObject = {\r\n classNames?: Record<string, string>;\r\n dateInputClassNames?: Record<string, string>;\r\n className?: string;\r\n [key: string]: any;\r\n};\r\n\r\nexport const getStyle = (theme: ThemeType, key: StyleKeyType): StyleObject => {\r\n switch (theme) {\r\n case \"default\":\r\n return _.get(defaultTheme, key) || {};\r\n case \"primary\":\r\n return _.get(primaryTheme, key) || {};\r\n default:\r\n return {};\r\n }\r\n};\r\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../aiem.ts","../lib/decorators.ts","../constants/abi.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n type Chain,\r\n type GetContractReturnType,\r\n type Abi,\r\n type PublicClient,\r\n type HttpTransport,\r\n type WalletClient,\r\n type Transport,\r\n type Account,\r\n type MulticallBatchOptions,\r\n encodeFunctionData,\r\n http,\r\n getContract,\r\n createPublicClient,\r\n} from \"viem\";\r\nimport { iotex, mainnet, bsc, polygon, iotexTestnet } from \"viem/chains\";\r\nimport TTLCache from \"@isaacs/ttlcache\";\r\nimport { ClassType } from \"./lib/interface\";\r\nimport { getFieldMetadata } from \"./lib/decorators\";\r\nimport { helper } from \"./utils\";\r\nimport BigNumber from \"bignumber.js\";\r\nimport { ERC20ABI } from \"./constants/abi\";\r\n\r\n//@ts-ignore\r\nBigInt.prototype.toJSON = function () {\r\n return this.toString();\r\n};\r\n\r\n((iotexTestnet.contracts = {\r\n multicall3: {\r\n //@ts-ignore\r\n address: \"0xb5cecd6894c6f473ec726a176f1512399a2e355d\",\r\n blockCreated: 24347592,\r\n },\r\n}),\r\n //@ts-ignore\r\n (mainnet.rpcUrls.default.http = [\"https://rpc.ankr.com/eth\"]));\r\n//@ts-ignore\r\nmainnet.rpcUrls.default.webSocket = [\"wss://ethereum-rpc.publicnode.com\"];\r\n\r\nexport { Fields } from \"./lib/decorators\";\r\n\r\nexport class Cache {\r\n kv = new TTLCache<string, any>({ max: 10000, ttl: 1000 * 60 });\r\n\r\n wrap<T>(key: string, fn: () => T | Promise<T>, config: TTLCache.Options<any, any> = {}): T | Promise<T> {\r\n if (this.kv.has(key)) {\r\n // console.log(`load ${key} from cache`)\r\n return this.kv.get(key);\r\n }\r\n\r\n const result = fn();\r\n if (result instanceof Promise) {\r\n const promiseResult = result.then((res) => {\r\n this.kv.set(key, res, config);\r\n return res;\r\n });\r\n this.kv.set(key, promiseResult, config);\r\n return promiseResult;\r\n } else {\r\n this.kv.set(key, result, config);\r\n return result;\r\n }\r\n }\r\n}\r\n\r\nexport type GetOptions = {\r\n multicall?: boolean | MulticallBatchOptions;\r\n rpcUrls?: Chain[\"rpcUrls\"];\r\n pollingInterval?: number;\r\n};\r\n\r\nexport class AIem<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }> {\r\n static cache?: Cache = new Cache();\r\n cache?: Cache = new Cache();\r\n contractMap?: Contracts;\r\n //@ts-ignore\r\n chainMap?: Chains = {\r\n [iotex.id]: iotex,\r\n [mainnet.id]: mainnet,\r\n [bsc.id]: bsc,\r\n [polygon.id]: polygon,\r\n [iotexTestnet.id]: iotexTestnet,\r\n };\r\n nameMap?: Addrs;\r\n contracts: {\r\n [K in keyof Addrs & keyof Contracts]: {\r\n //@ts-ignore\r\n [KK in keyof Addrs[K]]: GetContractReturnType<Contracts[K], PublicClient<HttpTransport, Chain, any, any>, any, any>;\r\n };\r\n };\r\n static defaultFuncMap = {\r\n totalSupply: { ttl: 15 * 1000 },\r\n symbol: { ttl: 60 * 1000 },\r\n name: { ttl: 60 * 1000 },\r\n decimals: { ttl: 60 * 1000 },\r\n balanceOf: { ttl: 5 * 1000 },\r\n };\r\n funcMap?: { [key: string]: { ttl?: number } } = {};\r\n\r\n get _cache() {\r\n return AIem.cache;\r\n }\r\n\r\n //@ts-ignore\r\n getWallet?: () => WalletClient;\r\n\r\n static Set<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }>(\r\n args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\">,\r\n ) {\r\n return this.init().Set(args);\r\n }\r\n\r\n Set<Contracts extends Record<string, Abi>, Chains extends Record<string, Chain>, Addrs extends { [K in keyof Contracts]?: { [key: string]: `${string}-0x${string}` } }>(\r\n args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\">,\r\n ): AIem<Contracts, Chains, Addrs> {\r\n const { chainMap = {}, contractMap = {}, funcMap, ...rest } = args || {};\r\n //@ts-ignore\r\n this.chainMap = Object.assign({}, this.chainMap || {}, chainMap);\r\n //@ts-ignore\r\n this.contractMap = Object.assign({}, this.contractMap || {}, contractMap);\r\n //@ts-ignore\r\n this.funcMap = Object.assign({}, this.funcMap || {}, funcMap);\r\n\r\n Object.assign(this, rest);\r\n return this as any;\r\n }\r\n\r\n constructor(args: Pick<AIem<Contracts, Chains, Addrs>, \"contractMap\" | \"chainMap\" | \"nameMap\" | \"getWallet\" | \"cache\" | \"funcMap\"> = {}) {\r\n this.Set(args);\r\n\r\n this.contracts = new Proxy(\r\n {},\r\n {\r\n //@ts-ignore\r\n get: (target: any, contractName: keyof Addrs & keyof Contracts) => {\r\n if (target[contractName]) return target[contractName];\r\n\r\n if (!this.nameMap[contractName]) {\r\n throw new Error(`Contract ${String(contractName)} not found`);\r\n }\r\n\r\n target[contractName] = new Proxy(\r\n {},\r\n {\r\n //@ts-ignore\r\n get: (innerTarget: any, contractAlias: keyof Addrs[keyof Addrs]) => {\r\n const addressStr = this.nameMap[contractName]?.[contractAlias];\r\n if (!addressStr) {\r\n throw new Error(`Alias ${String(contractAlias)} for contract ${String(contractName)} not found`);\r\n }\r\n const [chainId, address] = addressStr.split(\"-\");\r\n\r\n // Assuming getContractInstance is a function that retrieves a contract instance\r\n return this.Get(contractName, String(chainId), address as `0x${string}`);\r\n },\r\n },\r\n );\r\n return target[contractName];\r\n },\r\n },\r\n ) as any;\r\n }\r\n\r\n // WsClient<C extends keyof Chains>(chainId: C): PublicClient<WebSocketTransport, Chain, any, any> {\r\n // //@ts-ignore\r\n // return this.cache.wrap(`wsClient-${String(chainId)}`, () => {\r\n // // const wsUrl = this.chainMap[chainId]?.rpcUrls?.default?.webSocket?.[0]\r\n // // if (!wsUrl) throw new Error(`rpcUrls.default.webSocket[0] is not defined for chainId ${String(chainId)}`)\r\n // // //@ts-ignore\r\n // return createPublicClient({\r\n // //@ts-ignore\r\n // chain: this.chainMap[chainId],\r\n // transport: webSocket()\r\n // }) as PublicClient<WebSocketTransport, Chain, any, any>\r\n // })\r\n // }\r\n\r\n static PubClient(chainId: string, options: GetOptions = { multicall: true }): PublicClient<HttpTransport, Chain, any, any> {\r\n //@ts-ignore\r\n return this.init().PubClient(chainId, options);\r\n }\r\n\r\n PubClient<C extends keyof Chains>(chainId: C, options: GetOptions = { multicall: true }): PublicClient<HttpTransport, Chain, any, any> {\r\n const chain = this.chainMap[chainId];\r\n if (options.rpcUrls) {\r\n chain.rpcUrls = options.rpcUrls;\r\n }\r\n //@ts-ignore\r\n return this._cache.wrap(`publicClient-${String(chainId)}-${chain.rpcUrls.default.http}-${JSON.stringify(options?.multicall)}-${options?.pollingInterval}`, () => {\r\n //@ts-ignore\r\n return createPublicClient({\r\n //@ts-ignore\r\n chain,\r\n ...(options?.multicall\r\n ? {\r\n batch: {\r\n multicall: typeof options.multicall === \"boolean\" ? true : options.multicall,\r\n },\r\n }\r\n : {}),\r\n ...(options?.pollingInterval\r\n ? {\r\n pollingInterval: options.pollingInterval,\r\n }\r\n : {\r\n pollingInterval: 2500,\r\n }),\r\n //@ts-ignore\r\n transport: http(),\r\n });\r\n });\r\n }\r\n\r\n //@ts-ignore\r\n static Get<TAbi extends Abi = any, ReturnType extends GetContractReturnType<TAbi, WalletClient<Transport, Chain, Account>>>(\r\n abi: TAbi,\r\n chainId: any,\r\n address: any,\r\n wallet?: WalletClient,\r\n //@ts-ignore\r\n options?: GetOptions = { multicall: true },\r\n //@ts-ignore\r\n ): ReturnType & { encode: ReturnType[\"write\"] } {\r\n const aiem = this.init();\r\n if (!wallet) {\r\n wallet = aiem.getWallet ? aiem.getWallet() : null;\r\n }\r\n\r\n const cacheKey = `contract ${chainId}-${address}-${wallet ? wallet.account.address : null}`;\r\n return aiem._cache.wrap(cacheKey, () => {\r\n //@ts-ignore\r\n const pubClient = aiem.PubClient(chainId, options);\r\n\r\n //@ts-ignore\r\n return aiem.getContract({\r\n client: {\r\n //@ts-ignore\r\n public: pubClient,\r\n //@ts-ignore\r\n wallet,\r\n },\r\n address,\r\n abi,\r\n });\r\n }) as any;\r\n }\r\n\r\n //@ts-ignore\r\n Get<K extends keyof Contracts, C extends keyof Chains, Addr extends `0x${string}`>(\r\n contractName: K,\r\n chainId: C,\r\n address: Addr,\r\n options: GetOptions = { multicall: true },\r\n //@ts-ignore\r\n ): GetContractReturnType<Contracts[K], PublicClient<HttpTransport, Chain, any, any>> & { encode: GetContractReturnType<Contracts[K], WalletClient<HttpTransport, Chain, Account, any>>[\"write\"] } {\r\n const wallet = this.getWallet ? this.getWallet() : null;\r\n //@ts-ignore\r\n const cacheKey = `contract ${chainId}-${address}-${wallet ? wallet.account.address : null}`;\r\n return this._cache.wrap(cacheKey, () => {\r\n //@ts-ignore\r\n const contract = this.contractMap[contractName];\r\n //@ts-ignore\r\n const pubClient = this.PubClient(chainId, options);\r\n\r\n //@ts-ignore\r\n return this.getContract({\r\n client: {\r\n //@ts-ignore\r\n public: pubClient,\r\n //@ts-ignore\r\n wallet,\r\n },\r\n address,\r\n abi: contract,\r\n });\r\n }) as any;\r\n }\r\n\r\n getContract({\r\n client,\r\n address,\r\n abi,\r\n }: {\r\n client: {\r\n public: PublicClient<HttpTransport, Chain, any, any>;\r\n wallet?: WalletClient;\r\n };\r\n address: `0x${string}`;\r\n abi: any;\r\n }) {\r\n const handler = {\r\n get: (target: any, funcName: any) => {\r\n if (funcName == \"encode\") {\r\n return new Proxy(\r\n {},\r\n {\r\n get(t1, f1) {\r\n return async (args: any) => {\r\n // @ts-ignore\r\n return encodeFunctionData({\r\n abi,\r\n functionName: f1,\r\n args,\r\n });\r\n };\r\n },\r\n },\r\n );\r\n }\r\n\r\n if (typeof target[funcName] === \"function\") {\r\n return async (...args: any[]) => {\r\n const methodConfig = this.funcMap?.[funcName as string];\r\n // const cacheKey = `method:${client.public.chain.id}-${address}-${String(funcName)}-${JSON.stringify(args)}`;\r\n const cacheKey = `call ${client.public.chain.id}-${address}-${funcName}-${JSON.stringify(args)}`;\r\n\r\n if (methodConfig) {\r\n return this.cache.wrap(\r\n cacheKey,\r\n () => {\r\n return target[funcName](...args);\r\n },\r\n methodConfig,\r\n );\r\n }\r\n\r\n return target[funcName](...args);\r\n };\r\n }\r\n return new Proxy(target[funcName], handler);\r\n },\r\n };\r\n\r\n //@ts-ignore\r\n const contract = getContract({\r\n //@ts-ignore\r\n client,\r\n address,\r\n abi,\r\n });\r\n return new Proxy(contract, handler) as any;\r\n }\r\n\r\n static init(): AIem<any, any, any> {\r\n if (!globalThis.aiem) {\r\n //@ts-ignore\r\n globalThis.aiem = new AIem();\r\n }\r\n\r\n return globalThis.aiem;\r\n }\r\n\r\n static async getPrice({ chainId = \"4689\", address }: { chainId?: string; address: string }) {\r\n const priceMap = await this.cache.wrap(\r\n `token-price`,\r\n async () => {\r\n const res = await (await fetch(\"https://api.iopay.me/api/rest/price\")).json();\r\n return Object.values(res)\r\n .flat()\r\n .reduce((p, c: { platforms: string; current_price: number }) => {\r\n p[`${4689}-${c.platforms.toLowerCase()}`] = c.current_price;\r\n return p;\r\n }, {});\r\n },\r\n { ttl: 1000 * 60 },\r\n );\r\n return priceMap[`${chainId}-${address}`];\r\n }\r\n\r\n static utils = {\r\n autoFormat: async ({ value, decimals, chainId, address }: { value: string; decimals?: number; chainId: string; address: string }) => {\r\n if (!decimals) {\r\n //@ts-ignore\r\n decimals = await this.cache.wrap(`${chainId}-${address}-decimals`, async () => {\r\n //@ts-ignore\r\n return this.Get(ERC20ABI, chainId, address).read.decimals();\r\n });\r\n }\r\n const wrap = helper.number.warpBigNumber(value, decimals, { format: \"0,0.000000\", fallback: \"\" });\r\n const price = await this.getPrice({ chainId, address: address.toLowerCase() });\r\n const usd = new BigNumber(wrap.originFormat).multipliedBy(price || 0).toFixed(2);\r\n return { ...wrap, usd, price };\r\n },\r\n };\r\n\r\n static QueryMany<E, S extends QuerySelect<E>>(entity: ClassType<E>, select: S) {\r\n return async (_entities: Partial<E>[]): Promise<QueryReturnType<E, S>[]> => {\r\n //@ts-ignore\r\n return this.Query(entity, select)(_entities) as any;\r\n };\r\n }\r\n\r\n static Query<E, S extends QuerySelect<E>>(entity: ClassType<E>, select: S) {\r\n return async (entities: Partial<E>): Promise<QueryReturnType<E, S>> => {\r\n const isArrayInput = Array.isArray(entities);\r\n\r\n try {\r\n const results: Array<QueryReturnType<E, S>> = [];\r\n\r\n if (!isArrayInput) {\r\n //@ts-ignore\r\n entities = [entities];\r\n }\r\n //@ts-ignore\r\n for (const entityData of entities) {\r\n const instance = Object.assign(new entity(), entityData);\r\n // const result: any = {};\r\n\r\n const fetchFields = async (obj: any, sel: any) => {\r\n const promises = [];\r\n for (const key in sel) {\r\n // return console.log(key, getFieldMetadata(obj, key))\r\n // Check if the property is annotated with @Fields.read(), @Fields.custom(), or @Fields.contract()\r\n const fieldMetadata = getFieldMetadata(obj, key);\r\n let call: any;\r\n //@ts-ignore\r\n const enableMulticall = entity.multicall == false ? false : true;\r\n // console.log(key, fieldMetadata, instance)\r\n if (sel[key] == false) {\r\n call = async () => null;\r\n } else {\r\n switch (fieldMetadata?.type) {\r\n case \"read\":\r\n if (Array.isArray(sel[key])) {\r\n //@ts-ignore\r\n call = () => this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[key](sel[key]);\r\n } else {\r\n //@ts-ignore\r\n call = () => this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[key]();\r\n }\r\n break;\r\n case \"write\":\r\n // @ts-ignore\r\n obj[key] = encodeFunctionData({\r\n //@ts-ignore\r\n abi: entity.abi,\r\n functionName: key,\r\n args: sel[key],\r\n });\r\n\r\n break;\r\n case \"custom\":\r\n const func = fieldMetadata.func;\r\n call = () => func(instance);\r\n break;\r\n case \"entity\":\r\n const targetMetadata = getFieldMetadata(instance, fieldMetadata.targetKey);\r\n\r\n if (typeof fieldMetadata.targetKey == \"string\") {\r\n if (targetMetadata?.options?.ttl) {\r\n //@ts-ignore\r\n const cacheKey = `call ${instance.chainId}-${instance.address}-${fieldMetadata.targetKey}`;\r\n //@ts-ignore\r\n call = () =>\r\n new Promise(async (resolve) => {\r\n //@ts-ignore\r\n const address = await this.cache.wrap(cacheKey, async () =>\r\n //@ts-ignore\r\n this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall }).read[fieldMetadata.targetKey](),\r\n );\r\n //@ts-ignore\r\n resolve(this.Query(fieldMetadata.entity(), sel[key])({ address, chainId: instance.chainId }));\r\n });\r\n } else {\r\n call = () =>\r\n //@ts-ignore\r\n this.Get(entity.abi, instance.chainId, instance.address, null, { multicall: enableMulticall })\r\n //@ts-ignore\r\n .read[fieldMetadata.targetKey]()\r\n .then((address: any) => {\r\n // console.log({ address, sel: sel[key] })\r\n //@ts-ignore\r\n return this.Query(fieldMetadata.entity(), sel[key])({ address, chainId: instance.chainId });\r\n });\r\n }\r\n } else {\r\n //@ts-ignore\r\n call = () =>\r\n fieldMetadata.targetKey(instance).then((args) => {\r\n // console.log(args)\r\n return Array.isArray(args) ? this.QueryMany(fieldMetadata.entity(), sel[key])(args) : this.Query(fieldMetadata.entity(), sel[key])(args);\r\n });\r\n }\r\n break;\r\n default:\r\n if (typeof obj[key] == \"function\") {\r\n call = () => obj[key](...(Array.isArray(sel[key]) ? sel[key] : []));\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (call) {\r\n if (fieldMetadata?.options?.ttl) {\r\n //@ts-ignore\r\n const cacheKey = `call ${instance.chainId}-${instance.address}-${key}-${JSON.stringify(sel[key])}`;\r\n promises.push(\r\n new Promise(async (resolve) => {\r\n const value = await this.cache.wrap(cacheKey, async () => call().catch((i) => null), fieldMetadata.options);\r\n obj[key] = value;\r\n resolve(value);\r\n }),\r\n );\r\n } else {\r\n promises.push(\r\n call()\r\n .then((value) => {\r\n obj[key] = value;\r\n })\r\n .catch((i) => (obj[key] = null)),\r\n );\r\n }\r\n }\r\n }\r\n\r\n await Promise.all(promises);\r\n };\r\n\r\n await fetchFields(instance, select);\r\n //@ts-ignore\r\n results.push(instance);\r\n }\r\n\r\n if (isArrayInput) {\r\n return results as any;\r\n } else {\r\n return results[0] as any;\r\n }\r\n } catch (error) {\r\n if (isArrayInput) {\r\n return [] as any;\r\n } else {\r\n return null as any;\r\n }\r\n }\r\n };\r\n }\r\n}\r\nexport type Item<T> = T extends (infer U)[] ? U : T;\r\n\r\n// export type QueryResult<E, S extends QuerySelect<E>> =\r\n// E extends Array<any> ? Promise<Array<QueryReturnType<E[number], S>>> :\r\n// E extends object ? Promise<QueryReturnType<E, S>> :\r\n// never;\r\n\r\ntype QuerySelect<E> = {\r\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;\r\n};\r\n\r\n// type FunctionReturn<T> = T extends (...args: any[]) => any ? Awaited<ReturnType<T>> : T;\r\n// type NestedReturn<E, S> = E extends object ? S extends object ? QueryReturnType<E, S> : E : E;\r\n\r\nexport type QueryReturnType<E, S extends QuerySelect<E>> = {\r\n [K in keyof E]: K extends keyof S\r\n ? E[K] extends (...args: any[]) => any\r\n ? Awaited<ReturnType<E[K]>>\r\n : E[K] extends object\r\n ? S[K] extends object\r\n ? QueryReturnType<E[K], S[K]>\r\n : E[K]\r\n : E[K]\r\n : E[K];\r\n};\r\n","import \"reflect-metadata\";\r\nimport { ClassType } from \"./interface\";\r\n\r\nexport const FIELD_KEY = Symbol(\"aiem_field\");\r\n\r\nexport interface FieldParams {\r\n ttl?: number;\r\n}\r\n\r\nexport type ContractParams<T extends any = any, K extends keyof T = keyof T> = K;\r\n\r\nconst metadataCache = new WeakMap<any, Map<any, any>>();\r\n\r\nexport class Fields {\r\n static hide(options: any = {}) {\r\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\r\n Fields.setMetadata(target, propertyKey, { type: \"hide\", options });\r\n };\r\n }\r\n\r\n static read(options: any = {}) {\r\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\r\n Fields.setMetadata(target, propertyKey, { type: \"read\", options });\r\n };\r\n }\r\n\r\n static write(options: any = {}) {\r\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\r\n Fields.setMetadata(target, propertyKey, { type: \"write\", options });\r\n };\r\n }\r\n\r\n static custom(func: any = {}) {\r\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\r\n Fields.setMetadata(target, propertyKey, { type: \"custom\", func });\r\n };\r\n }\r\n\r\n static relation<T = any, R = any>(entity: () => ClassType<R>, options: ((e: T) => Promise<Partial<R> | Partial<R>[]>) | string) {\r\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\r\n Fields.setMetadata(target, propertyKey, { type: \"entity\", entity, targetKey: options });\r\n };\r\n }\r\n\r\n static contract<T = any, R = any>(entity: () => ClassType<R>, options: ((e: T) => Promise<Partial<R> | Partial<R>[]>) | string) {\r\n return function (target: any, propertyKey: any, descriptor?: PropertyDescriptor) {\r\n Fields.setMetadata(target, propertyKey, { type: \"entity\", entity, targetKey: options });\r\n };\r\n }\r\n private static setMetadata(target: any, propertyKey: any, metadata: any) {\r\n let targetMetadata = metadataCache.get(target);\r\n if (!targetMetadata) {\r\n targetMetadata = new Map<any, any>();\r\n metadataCache.set(target, targetMetadata);\r\n }\r\n targetMetadata.set(propertyKey, metadata);\r\n // @ts-ignore \r\n Reflect.defineMetadata(FIELD_KEY, metadata, target, propertyKey);\r\n }\r\n}\r\n\r\nexport function getFieldMetadata(target: any, propertyKey: string) {\r\n const targetMetadata = metadataCache.get(target);\r\n if (targetMetadata) {\r\n return targetMetadata.get(propertyKey);\r\n }\r\n // @ts-ignore \r\n return Reflect.getMetadata(FIELD_KEY, target, propertyKey);\r\n}\r\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;"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../store/standard/PaginationState.ts"],"names":[],"mappings":";AAAA,SAAS,0BAA0B;AAI5B,IAAM,kBAAN,MAAsB;AAAA,EAK3B,YAAY,MAAyB;AAJrC,gBAAO;AACP,iBAAQ;AACR,iBAAQ;AAGN,WAAO,OAAO,MAAM,IAAI;AACxB,uBAAmB,IAAI;AAAA,EACzB;AAAA,EAEA,IAAI,SAAS;AACX,YAAQ,KAAK,OAAO,KAAK,KAAK;AAAA,EAChC;AAAA,EAEA,aAAa,MAAc;AAAA,EAAC;AAAA,EAE5B,QAAQ,GAAsB;AAC5B,WAAO,OAAO,MAAM,CAAC;AACrB,QAAI,EAAE,MAAM;AACV,WAAK,aAAa,EAAE,IAAI;AAAA,IAC1B;AAAA,EACF;AACF","sourcesContent":["import { makeAutoObservable } from 'mobx';\r\n\r\ntype ArgsType = { page: number; limit: number; total: number; onPageChange: (page: number) => void };\r\n\r\nexport class PaginationState {\r\n page = 1;\r\n limit = 10;\r\n total = 0;\r\n\r\n constructor(args: Partial<ArgsType>) {\r\n Object.assign(this, args);\r\n makeAutoObservable(this);\r\n }\r\n\r\n get offset() {\r\n return (this.page - 1) * this.limit;\r\n }\r\n\r\n onPageChange(page: number) {}\r\n\r\n setData(v: Partial<ArgsType>) {\r\n Object.assign(this, v);\r\n if (v.page) {\r\n this.onPageChange(v.page);\r\n }\r\n }\r\n}\r\n"]}