@dappworks/kit 0.4.213 → 0.4.214
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/{PromiseState-00f10e83.d.ts → PromiseState-nh1sHDAs.d.ts} +1 -1
- package/dist/{StorageState-cfd942cb.d.ts → StorageState-qapaHguM.d.ts} +1 -1
- package/dist/aiem.d.mts +1 -1
- package/dist/aiem.mjs +2 -2
- package/dist/{chunk-QAHRKWRK.mjs → chunk-274FDVNP.mjs} +2 -2
- package/dist/{chunk-IXLGFRW6.mjs → chunk-2EXDWOHY.mjs} +1 -1
- package/dist/{chunk-HGZ65C4B.mjs → chunk-2QK7O5HJ.mjs} +2 -2
- package/dist/{chunk-P77SGQIM.mjs → chunk-3TBJNCTQ.mjs} +2 -2
- package/dist/{chunk-HDTICRGY.mjs → chunk-BE2I23U2.mjs} +2 -2
- package/dist/{chunk-4OJFHANU.mjs → chunk-BUAUKNNF.mjs} +4 -4
- package/dist/{chunk-VEGBB5PR.mjs → chunk-DRTTNPZI.mjs} +2 -2
- package/dist/{chunk-LJZWWO2Z.mjs → chunk-L6XS2K2K.mjs} +3 -3
- package/dist/{chunk-IDKGZ5T4.mjs → chunk-XSGTWROT.mjs} +7 -7
- package/dist/{chunk-IDKGZ5T4.mjs.map → chunk-XSGTWROT.mjs.map} +1 -1
- package/dist/dev.d.mts +1 -1
- package/dist/dev.mjs +2 -2
- package/dist/experimental.d.mts +2 -2
- package/dist/experimental.mjs +3 -3
- package/dist/form.d.mts +3 -3
- package/dist/form.mjs +3 -3
- package/dist/{index-38be834f.d.ts → index-CUKoRIdy.d.ts} +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.mjs +4 -4
- package/dist/inspector.d.mts +1 -1
- package/dist/inspector.mjs +1 -1
- package/dist/jsontable.d.mts +2 -2
- package/dist/jsontable.mjs +4 -4
- package/dist/metrics.d.mts +1 -1
- package/dist/metrics.mjs +4 -4
- package/dist/plugins.d.mts +3 -3
- package/dist/plugins.mjs +5 -5
- package/dist/{root-766ae985.d.ts → root-C3lZnoCI.d.ts} +1 -1
- package/dist/ui.mjs +3 -3
- package/dist/utils.d.mts +8 -3
- package/dist/utils.mjs +1 -1
- package/dist/wallet.d.mts +3 -3
- package/dist/wallet.mjs +18 -15
- package/dist/wallet.mjs.map +1 -1
- package/package.json +1 -1
- /package/dist/{PaginationState-c19e621a.d.ts → PaginationState-Bmrrw0ky.d.ts} +0 -0
- /package/dist/{chunk-QAHRKWRK.mjs.map → chunk-274FDVNP.mjs.map} +0 -0
- /package/dist/{chunk-IXLGFRW6.mjs.map → chunk-2EXDWOHY.mjs.map} +0 -0
- /package/dist/{chunk-HGZ65C4B.mjs.map → chunk-2QK7O5HJ.mjs.map} +0 -0
- /package/dist/{chunk-P77SGQIM.mjs.map → chunk-3TBJNCTQ.mjs.map} +0 -0
- /package/dist/{chunk-HDTICRGY.mjs.map → chunk-BE2I23U2.mjs.map} +0 -0
- /package/dist/{chunk-4OJFHANU.mjs.map → chunk-BUAUKNNF.mjs.map} +0 -0
- /package/dist/{chunk-VEGBB5PR.mjs.map → chunk-DRTTNPZI.mjs.map} +0 -0
- /package/dist/{chunk-LJZWWO2Z.mjs.map → chunk-L6XS2K2K.mjs.map} +0 -0
package/dist/aiem.d.mts
CHANGED
|
@@ -120,4 +120,4 @@ type QueryReturnType<E, S extends QuerySelect<E>> = {
|
|
|
120
120
|
[K in keyof E]: K extends keyof S ? E[K] extends (...args: any[]) => any ? Awaited<ReturnType<E[K]>> : E[K] extends object ? S[K] extends object ? QueryReturnType<E[K], S[K]> : E[K] : E[K] : E[K];
|
|
121
121
|
};
|
|
122
122
|
|
|
123
|
-
export { AIem, Cache, Fields, GetOptions, Item, QueryReturnType };
|
|
123
|
+
export { AIem, Cache, Fields, type GetOptions, type Item, type QueryReturnType };
|
package/dist/aiem.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { AIem, Cache, Fields } from './chunk-
|
|
1
|
+
export { AIem, Cache, Fields } from './chunk-3TBJNCTQ.mjs';
|
|
2
2
|
import './chunk-7MDKCI65.mjs';
|
|
3
3
|
import './chunk-R4N52NI2.mjs';
|
|
4
4
|
import './chunk-K7LFG5BA.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-2EXDWOHY.mjs';
|
|
6
6
|
//# sourceMappingURL=out.js.map
|
|
7
7
|
//# sourceMappingURL=aiem.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-BE2I23U2.mjs';
|
|
2
2
|
import { Skeleton } from '@nextui-org/react';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
|
|
@@ -26,4 +26,4 @@ var SkeletonBox = ({
|
|
|
26
26
|
|
|
27
27
|
export { SkeletonBox };
|
|
28
28
|
//# sourceMappingURL=out.js.map
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-274FDVNP.mjs.map
|
|
@@ -55,4 +55,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
55
55
|
|
|
56
56
|
export { __commonJS, __objRest, __spreadProps, __spreadValues, __toESM };
|
|
57
57
|
//# sourceMappingURL=out.js.map
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-2EXDWOHY.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ToastPlugin } from './chunk-IMOLRP7I.mjs';
|
|
2
|
-
import { RootStore } from './chunk-
|
|
2
|
+
import { RootStore } from './chunk-XSGTWROT.mjs';
|
|
3
3
|
import { makeAutoObservable } from 'mobx';
|
|
4
4
|
import { EventEmitter } from 'events';
|
|
5
5
|
import { useEffect } from 'react';
|
|
@@ -209,4 +209,4 @@ var PromiseState = class {
|
|
|
209
209
|
|
|
210
210
|
export { BooleanState, NumberState, PromiseState, Store, StringState, ValueState };
|
|
211
211
|
//# sourceMappingURL=out.js.map
|
|
212
|
-
//# sourceMappingURL=chunk-
|
|
212
|
+
//# sourceMappingURL=chunk-2QK7O5HJ.mjs.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { helper } from './chunk-R4N52NI2.mjs';
|
|
2
|
-
import { __spreadProps, __spreadValues, __objRest } from './chunk-
|
|
2
|
+
import { __spreadProps, __spreadValues, __objRest } from './chunk-2EXDWOHY.mjs';
|
|
3
3
|
import { createPublicClient, http, getContract, encodeFunctionData } from 'viem';
|
|
4
4
|
import { iotexTestnet, mainnet, iotex, bsc, polygon } from 'viem/chains';
|
|
5
5
|
import TTLCache from '@isaacs/ttlcache';
|
|
@@ -443,4 +443,4 @@ var AIem = _AIem;
|
|
|
443
443
|
|
|
444
444
|
export { AIem, Cache, Fields };
|
|
445
445
|
//# sourceMappingURL=out.js.map
|
|
446
|
-
//# sourceMappingURL=chunk-
|
|
446
|
+
//# sourceMappingURL=chunk-3TBJNCTQ.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __spreadValues } from './chunk-
|
|
1
|
+
import { __spreadValues } from './chunk-2EXDWOHY.mjs';
|
|
2
2
|
|
|
3
3
|
// ../../node_modules/clsx/dist/clsx.m.js
|
|
4
4
|
function r(e) {
|
|
@@ -2511,4 +2511,4 @@ function cn(...inputs) {
|
|
|
2511
2511
|
|
|
2512
2512
|
export { cn };
|
|
2513
2513
|
//# sourceMappingURL=out.js.map
|
|
2514
|
-
//# sourceMappingURL=chunk-
|
|
2514
|
+
//# sourceMappingURL=chunk-BE2I23U2.mjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { PaginationState } from './chunk-ONVPCAMQ.mjs';
|
|
2
|
-
import { SkeletonBox } from './chunk-
|
|
2
|
+
import { SkeletonBox } from './chunk-274FDVNP.mjs';
|
|
3
3
|
import { _ } from './chunk-K7LFG5BA.mjs';
|
|
4
|
-
import { cn } from './chunk-
|
|
5
|
-
import { __objRest, __spreadValues, __spreadProps } from './chunk-
|
|
4
|
+
import { cn } from './chunk-BE2I23U2.mjs';
|
|
5
|
+
import { __objRest, __spreadValues, __spreadProps } from './chunk-2EXDWOHY.mjs';
|
|
6
6
|
import * as React2 from 'react';
|
|
7
7
|
import React2__default, { useRef, useEffect, useState, useMemo } from 'react';
|
|
8
8
|
import { Pagination, Spinner, Card, Divider } from '@nextui-org/react';
|
|
@@ -918,4 +918,4 @@ function CollapseBodyRow({
|
|
|
918
918
|
|
|
919
919
|
export { JSONTable };
|
|
920
920
|
//# sourceMappingURL=out.js.map
|
|
921
|
-
//# sourceMappingURL=chunk-
|
|
921
|
+
//# sourceMappingURL=chunk-BUAUKNNF.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RootStore } from './chunk-
|
|
1
|
+
import { RootStore } from './chunk-XSGTWROT.mjs';
|
|
2
2
|
import { helper } from './chunk-R4N52NI2.mjs';
|
|
3
3
|
import { observable, makeAutoObservable } from 'mobx';
|
|
4
4
|
import BigNumber2 from 'bignumber.js';
|
|
@@ -295,4 +295,4 @@ var AppProvider = observer(({ children }) => {
|
|
|
295
295
|
|
|
296
296
|
export { AppProvider, BigNumberInputState, BigNumberState, ObjectPool, PromiseHook, StorageListState, StorageState };
|
|
297
297
|
//# sourceMappingURL=out.js.map
|
|
298
|
-
//# sourceMappingURL=chunk-
|
|
298
|
+
//# sourceMappingURL=chunk-DRTTNPZI.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getStyle } from './chunk-K73JTEJQ.mjs';
|
|
2
|
-
import { useStore, rootStore } from './chunk-
|
|
3
|
-
import { __spreadValues, __spreadProps } from './chunk-
|
|
2
|
+
import { useStore, rootStore } from './chunk-XSGTWROT.mjs';
|
|
3
|
+
import { __spreadValues, __spreadProps } from './chunk-2EXDWOHY.mjs';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { makeAutoObservable } from 'mobx';
|
|
6
6
|
import { Modal, ModalContent, ModalHeader, ModalBody } from '@nextui-org/react';
|
|
@@ -73,4 +73,4 @@ var DialogStore = class _DialogStore {
|
|
|
73
73
|
|
|
74
74
|
export { DialogStore };
|
|
75
75
|
//# sourceMappingURL=out.js.map
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-L6XS2K2K.mjs.map
|
|
@@ -4,18 +4,18 @@ import { useLocalObservable } from 'mobx-react-lite';
|
|
|
4
4
|
|
|
5
5
|
// store/root.ts
|
|
6
6
|
var MyEmitter = class extends EventEmitter {
|
|
7
|
-
constructor() {
|
|
8
|
-
super();
|
|
9
|
-
makeObservable(this, {
|
|
10
|
-
// metas: true,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
7
|
emit(type, ...args) {
|
|
14
8
|
if (process.env.NODE_ENV == "development") {
|
|
15
9
|
super.emit("*", { type, args });
|
|
16
10
|
}
|
|
17
11
|
return super.emit(type, ...args) || super.emit("", ...args);
|
|
18
12
|
}
|
|
13
|
+
constructor() {
|
|
14
|
+
super();
|
|
15
|
+
makeObservable(this, {
|
|
16
|
+
// metas: true,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
19
|
};
|
|
20
20
|
var RootStore = class _RootStore {
|
|
21
21
|
constructor(args = {}) {
|
|
@@ -116,4 +116,4 @@ var useStore = () => RootStore.init();
|
|
|
116
116
|
|
|
117
117
|
export { RootStore, rootStore, useStore };
|
|
118
118
|
//# sourceMappingURL=out.js.map
|
|
119
|
-
//# sourceMappingURL=chunk-
|
|
119
|
+
//# sourceMappingURL=chunk-XSGTWROT.mjs.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"sources":["../store/root.ts","../store/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventEmitter } from \"events\";\nimport { makeAutoObservable, makeObservable } from \"mobx\";\nimport type TypedEmitter from \"typed-emitter\";\nimport { type Store, type StoreClass } from \"./standard/base\";\nimport { useLocalObservable } from \"mobx-react-lite\";\n\nexport type EventMap = {\n \"*\": (args: any) => void;\n add: (store: Store) => void;\n};\n\nexport class MyEmitter extends EventEmitter {\n // metas: Record<string, { count: number }> = {};\n _events: Record<string, any>;\n emit(type: any, ...args: any[]) {\n if (process.env.NODE_ENV == \"development\") {\n super.emit(\"*\", { type, args });\n }\n // if (!this.metas[type]) {\n // this.metas[type] = { count: 0 };\n // }\n // this.metas[type].count++;\n return super.emit(type, ...args) || super.emit(\"\", ...args);\n }\n constructor() {\n super();\n makeObservable(this, {\n // metas: true,\n });\n }\n}\n\nexport class RootStore<T extends EventMap = any> {\n instanceMap = new Map<Function, Map<string, Store>>();\n instance: Record<string, Store> = {};\n\n providers: Store[] = [];\n\n events: TypedEmitter<T> = new MyEmitter() as TypedEmitter<T>;\n isInited = false;\n\n static init<T extends EventMap>(args: Partial<RootStore<T>> = {}): RootStore<T> {\n if (!globalThis.store) {\n //@ts-ignore\n globalThis.store = new RootStore(args);\n }\n\n return globalThis.store;\n }\n\n add(store: Store, { sid }: { sid?: string } = {}) {\n if (store.disabled) {\n return;\n }\n\n const instanceMapId = sid ? sid : \"singleton\";\n const instanceId = sid ? sid : store.sid;\n\n if (!this.has(store.constructor)) {\n this.instanceMap.set(store.constructor, new Map());\n }\n\n if (this.instanceMap.get(store.constructor).get(instanceMapId)) {\n console.error(`Store ${store.sid} already exists`);\n return;\n throw new Error(`Store ${store.sid} already exists`);\n }\n if (store.autoObservable) {\n makeAutoObservable(store);\n }\n if (store.provider) {\n this.providers.push(store);\n }\n if (store.onNewStore) {\n this.events.on(\"add\", (e: Store) => {\n store.onNewStore({ rootStore: this, store: e });\n });\n }\n\n if (store.onAdded) {\n store.onAdded({ rootStore: this });\n }\n if (store.stores) {\n this.addStores(store.stores);\n }\n\n if (store.events) {\n Object.entries(store.events).forEach(([event, val]) => {\n this.events.on(val.name as any, val.handler);\n });\n }\n\n // if (helper.env.isBrowser && store.onKeyBindings) {\n // const res = store.onKeyBindings()\n // res.forEach(({ key, fn }: { key: string[], fn: (ev: KeyboardEvent) => void }) => {\n // useEffect(() => {\n // window.addEventListener(\"keydown\", fn);\n // return () => {\n // window.removeEventListener(\"keydown\", fn);\n // }\n // }, [])\n // })\n // }\n\n this.instanceMap.get(store.constructor).set(instanceMapId, store);\n this.instance[instanceId] = store;\n //@ts-ignore\n this.events.emit(\"add\", store);\n\n if (store.init) {\n store.init();\n }\n // this.crawlStore(store);\n }\n\n addStores(store: Store[]) {\n store.forEach((i) => this.add(i));\n return this;\n }\n\n get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\n const instanceMapId = config.sid ? config.sid : \"singleton\";\n const valid = this.instanceMap.has(store) && this.instanceMap.get(store).has(instanceMapId);\n if (!valid) {\n this.add(new store(config.args || {}), config);\n }\n return this.instanceMap.get(store).get(instanceMapId) as T;\n }\n\n public has(store: Function): boolean {\n return this.instanceMap.has(store);\n }\n\n constructor(args: Partial<RootStore<T>> = {}) {\n Object.assign(this, args);\n makeObservable(this, {\n providers: true,\n });\n this.crawlStore(this);\n }\n\n crawlStore(obj: Object) {\n Object.values(obj).forEach((value) => {\n if (value?.sid) {\n this.add(value);\n }\n });\n }\n\n static Get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\n return this.init().get(store, config);\n }\n\n static Local<T>(func: () => T, config: { sid?: string; args?: Partial<T> } = {}, ann?: any): T {\n const val = useLocalObservable(func, ann);\n RootStore.init().instance[\"Local.\" + config.sid] = val;\n return val;\n }\n}\n","import { RootStore, EventMap } from \"./root\";\n\nexport const rootStore = RootStore.init<EventMap>();\n\nexport const useStore = () => RootStore.init();\n\nexport { RootStore };\n"]}
|
package/dist/dev.d.mts
CHANGED
package/dist/dev.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { helper } from './chunk-R4N52NI2.mjs';
|
|
2
2
|
import { _ } from './chunk-K7LFG5BA.mjs';
|
|
3
|
-
import { cn } from './chunk-
|
|
4
|
-
import { __objRest, __spreadProps, __spreadValues } from './chunk-
|
|
3
|
+
import { cn } from './chunk-BE2I23U2.mjs';
|
|
4
|
+
import { __objRest, __spreadProps, __spreadValues } from './chunk-2EXDWOHY.mjs';
|
|
5
5
|
import * as React3 from 'react';
|
|
6
6
|
import React3__default, { useMemo, useRef } from 'react';
|
|
7
7
|
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
package/dist/experimental.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as Store, R as RootStore } from './root-
|
|
1
|
+
import { S as Store, R as RootStore } from './root-C3lZnoCI.js';
|
|
2
2
|
import React$1, { ReactNode, HTMLAttributeAnchorTarget } from 'react';
|
|
3
3
|
import 'typed-emitter';
|
|
4
4
|
|
|
@@ -187,4 +187,4 @@ declare class JSONViewPlugin implements Store {
|
|
|
187
187
|
static JSONView: (props: JSONViewType) => React$1.JSX.Element;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
export { AsyncStorage, Collection, DataGroup, Engine, JSONDataType, JSONViewPlugin, JSONViewType, SlotPlugin, StorageParams, StoragePlugin, jwt };
|
|
190
|
+
export { AsyncStorage, Collection, type DataGroup, type Engine, type JSONDataType, JSONViewPlugin, type JSONViewType, SlotPlugin, type StorageParams, StoragePlugin, jwt };
|
package/dist/experimental.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { PromiseState } from './chunk-
|
|
1
|
+
import { PromiseState } from './chunk-2QK7O5HJ.mjs';
|
|
2
2
|
import './chunk-IMOLRP7I.mjs';
|
|
3
|
-
import { RootStore } from './chunk-
|
|
3
|
+
import { RootStore } from './chunk-XSGTWROT.mjs';
|
|
4
4
|
import { _ } from './chunk-K7LFG5BA.mjs';
|
|
5
|
-
import { __objRest, __spreadValues, __spreadProps } from './chunk-
|
|
5
|
+
import { __objRest, __spreadValues, __spreadProps } from './chunk-2EXDWOHY.mjs';
|
|
6
6
|
import React2 from 'react';
|
|
7
7
|
import { makeAutoObservable, toJS, observable } from 'mobx';
|
|
8
8
|
import axios from 'axios';
|
package/dist/form.d.mts
CHANGED
|
@@ -3,9 +3,9 @@ import { TabsProps, ButtonProps, CheckboxProps, SlotsToClasses, InputSlots, Inpu
|
|
|
3
3
|
import { UiSchema, RJSFSchema, WidgetProps, Widget } from '@rjsf/utils';
|
|
4
4
|
import * as _rjsf_validator_ajv8_lib_validator from '@rjsf/validator-ajv8/lib/validator';
|
|
5
5
|
import Form, { IChangeEvent } from '@rjsf/core';
|
|
6
|
-
import { T as ThemeType } from './index-
|
|
6
|
+
import { T as ThemeType } from './index-CUKoRIdy.js';
|
|
7
7
|
import { EditorProps } from '@monaco-editor/react';
|
|
8
|
-
import { S as Store } from './root-
|
|
8
|
+
import { S as Store } from './root-C3lZnoCI.js';
|
|
9
9
|
import EventEmitter from 'events';
|
|
10
10
|
import 'typed-emitter';
|
|
11
11
|
|
|
@@ -372,4 +372,4 @@ declare function getSimpleFormData<T>(data: T, metadata: {
|
|
|
372
372
|
[key: string]: any;
|
|
373
373
|
} & Partial<JSONSchemaFormState<any>>, config: Partial<FormModalStore>, onSet?: (v: T, form: JSONSchemaFormState<T, UiSchema>) => T, theme?: ThemeType): Promise<T>;
|
|
374
374
|
|
|
375
|
-
export { CheckboxWidget, CheckboxWidgetProps, CheckboxWidgetUIOptions, ComplexFormModalStore, DatePickerWidget, DatePickerWidgetProps, DatePickerWidgetUIOptions, EditorWidget, EditorWidgetProps, EditorWidgetUIOptions, FieldLayoutType, FormConfigType, FormDataOfKey, FormDataType, FormKey, FormLayoutType, FormModalStore, InputWidget, InputWidgetProps, InputWidgetUIOptions, JSONForm, JSONFormProps, JSONSchemaForm, LayoutConfigType, LayoutType, MultipleSelectWidget, MultipleSelectWidgetProps, MultipleSelectWidgetUIOptions, SelectWidget, SelectWidgetProps, SelectWidgetUIOptions, TextareaWidget, TextareaWidgetProps, TextareaWidgetUIOptions, getComplexFormData, getFormData, getFormState, getSimpleFormData };
|
|
375
|
+
export { CheckboxWidget, type CheckboxWidgetProps, type CheckboxWidgetUIOptions, ComplexFormModalStore, DatePickerWidget, type DatePickerWidgetProps, type DatePickerWidgetUIOptions, EditorWidget, type EditorWidgetProps, type EditorWidgetUIOptions, type FieldLayoutType, type FormConfigType, type FormDataOfKey, type FormDataType, type FormKey, type FormLayoutType, FormModalStore, InputWidget, type InputWidgetProps, type InputWidgetUIOptions, JSONForm, type JSONFormProps, JSONSchemaForm, type LayoutConfigType, type LayoutType, MultipleSelectWidget, type MultipleSelectWidgetProps, type MultipleSelectWidgetUIOptions, SelectWidget, type SelectWidgetProps, type SelectWidgetUIOptions, TextareaWidget, type TextareaWidgetProps, type TextareaWidgetUIOptions, getComplexFormData, getFormData, getFormState, getSimpleFormData };
|
package/dist/form.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getStyle } from './chunk-K73JTEJQ.mjs';
|
|
2
|
-
import { useStore, RootStore } from './chunk-
|
|
2
|
+
import { useStore, RootStore } from './chunk-XSGTWROT.mjs';
|
|
3
3
|
import { helper } from './chunk-R4N52NI2.mjs';
|
|
4
4
|
import { _ } from './chunk-K7LFG5BA.mjs';
|
|
5
|
-
import { cn } from './chunk-
|
|
6
|
-
import { __objRest, __spreadValues, __spreadProps } from './chunk-
|
|
5
|
+
import { cn } from './chunk-BE2I23U2.mjs';
|
|
6
|
+
import { __objRest, __spreadValues, __spreadProps } from './chunk-2EXDWOHY.mjs';
|
|
7
7
|
import React7, { useEffect, useMemo, useState, useRef, useCallback, createRef } from 'react';
|
|
8
8
|
import { Modal, ModalContent, ModalHeader, ModalBody, Checkbox, Input, Select, SelectItem, Button, Textarea, DatePicker, Chip, Card, Tabs, Tab } from '@nextui-org/react';
|
|
9
9
|
import { Check, ChevronUp, ChevronDown } from 'lucide-react';
|
package/dist/index.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { R as RootStore, E as EventMap } from './root-
|
|
2
|
-
export { B as BaseState, c as BooleanState, N as NumberState, S as Store, a as StoreClass, b as StringState, V as ValueState } from './root-
|
|
3
|
-
export { P as PromiseState } from './PromiseState-
|
|
4
|
-
export { P as PromiseHook, S as StorageState } from './StorageState-
|
|
1
|
+
import { R as RootStore, E as EventMap } from './root-C3lZnoCI.js';
|
|
2
|
+
export { B as BaseState, c as BooleanState, N as NumberState, S as Store, a as StoreClass, b as StringState, V as ValueState } from './root-C3lZnoCI.js';
|
|
3
|
+
export { P as PromiseState } from './PromiseState-nh1sHDAs.js';
|
|
4
|
+
export { P as PromiseHook, S as StorageState } from './StorageState-qapaHguM.js';
|
|
5
5
|
import BigNumber from 'bignumber.js';
|
|
6
|
-
export { P as PaginationState } from './PaginationState-
|
|
6
|
+
export { P as PaginationState } from './PaginationState-Bmrrw0ky.js';
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import 'typed-emitter';
|
|
9
9
|
import 'events';
|
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { AppProvider, BigNumberInputState, BigNumberState, ObjectPool, PromiseHook, StorageListState, StorageState } from './chunk-
|
|
2
|
-
export { BooleanState, NumberState, PromiseState, Store, StringState, ValueState } from './chunk-
|
|
1
|
+
export { AppProvider, BigNumberInputState, BigNumberState, ObjectPool, PromiseHook, StorageListState, StorageState } from './chunk-DRTTNPZI.mjs';
|
|
2
|
+
export { BooleanState, NumberState, PromiseState, Store, StringState, ValueState } from './chunk-2QK7O5HJ.mjs';
|
|
3
3
|
import './chunk-IMOLRP7I.mjs';
|
|
4
|
-
export { RootStore, rootStore, useStore } from './chunk-
|
|
4
|
+
export { RootStore, rootStore, useStore } from './chunk-XSGTWROT.mjs';
|
|
5
5
|
import './chunk-R4N52NI2.mjs';
|
|
6
6
|
export { PaginationState } from './chunk-ONVPCAMQ.mjs';
|
|
7
7
|
import './chunk-K7LFG5BA.mjs';
|
|
8
|
-
import './chunk-
|
|
8
|
+
import './chunk-2EXDWOHY.mjs';
|
|
9
9
|
//# sourceMappingURL=out.js.map
|
|
10
10
|
//# sourceMappingURL=index.mjs.map
|
package/dist/inspector.d.mts
CHANGED
package/dist/inspector.mjs
CHANGED
package/dist/jsontable.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SpinnerProps, PaginationProps } from '@nextui-org/react';
|
|
3
|
-
import { P as PaginationState } from './PaginationState-
|
|
3
|
+
import { P as PaginationState } from './PaginationState-Bmrrw0ky.js';
|
|
4
4
|
|
|
5
5
|
type TableClassNames = {
|
|
6
6
|
table?: string;
|
|
@@ -111,4 +111,4 @@ interface JSONTableProps<T extends Record<string, any>> {
|
|
|
111
111
|
}
|
|
112
112
|
declare const JSONTable: <T extends Record<string, any>>(props: JSONTableProps<T>) => React.JSX.Element;
|
|
113
113
|
|
|
114
|
-
export { CardOptions, CollapsedTableConfig, ColumnOptions, HeaderKeys, JSONTable, LoadingOptions, SortingUIOptions };
|
|
114
|
+
export { type CardOptions, type CollapsedTableConfig, type ColumnOptions, type HeaderKeys, JSONTable, type LoadingOptions, type SortingUIOptions };
|
package/dist/jsontable.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { JSONTable } from './chunk-
|
|
1
|
+
export { JSONTable } from './chunk-BUAUKNNF.mjs';
|
|
2
2
|
import './chunk-ONVPCAMQ.mjs';
|
|
3
|
-
import './chunk-
|
|
3
|
+
import './chunk-274FDVNP.mjs';
|
|
4
4
|
import './chunk-K7LFG5BA.mjs';
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
5
|
+
import './chunk-BE2I23U2.mjs';
|
|
6
|
+
import './chunk-2EXDWOHY.mjs';
|
|
7
7
|
//# sourceMappingURL=out.js.map
|
|
8
8
|
//# sourceMappingURL=jsontable.mjs.map
|
package/dist/metrics.d.mts
CHANGED
package/dist/metrics.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { JSONTable } from './chunk-
|
|
1
|
+
import { JSONTable } from './chunk-BUAUKNNF.mjs';
|
|
2
2
|
import './chunk-ONVPCAMQ.mjs';
|
|
3
|
-
import { SkeletonBox } from './chunk-
|
|
3
|
+
import { SkeletonBox } from './chunk-274FDVNP.mjs';
|
|
4
4
|
import './chunk-K7LFG5BA.mjs';
|
|
5
|
-
import { cn } from './chunk-
|
|
6
|
-
import { __spreadValues } from './chunk-
|
|
5
|
+
import { cn } from './chunk-BE2I23U2.mjs';
|
|
6
|
+
import { __spreadValues } from './chunk-2EXDWOHY.mjs';
|
|
7
7
|
import React8 from 'react';
|
|
8
8
|
import { Grid, Col, BarChart, LineChart, AreaChart, DonutChart, Text } from '@tremor/react';
|
|
9
9
|
import { Card } from '@nextui-org/react';
|
package/dist/plugins.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { S as Store } from './root-
|
|
1
|
+
import { S as Store } from './root-C3lZnoCI.js';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { SlotsToClasses, ModalSlots, ButtonProps, SpinnerProps } from '@nextui-org/react';
|
|
4
|
-
import { T as ThemeType } from './index-
|
|
4
|
+
import { T as ThemeType } from './index-CUKoRIdy.js';
|
|
5
5
|
import * as react_hot_toast from 'react-hot-toast';
|
|
6
|
-
import { P as PromiseState } from './PromiseState-
|
|
6
|
+
import { P as PromiseState } from './PromiseState-nh1sHDAs.js';
|
|
7
7
|
import 'typed-emitter';
|
|
8
8
|
import 'events';
|
|
9
9
|
|
package/dist/plugins.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { DialogStore } from './chunk-
|
|
2
|
-
export { DialogStore } from './chunk-
|
|
1
|
+
import { DialogStore } from './chunk-L6XS2K2K.mjs';
|
|
2
|
+
export { DialogStore } from './chunk-L6XS2K2K.mjs';
|
|
3
3
|
import { ToastPlugin } from './chunk-IMOLRP7I.mjs';
|
|
4
4
|
export { ToastPlugin } from './chunk-IMOLRP7I.mjs';
|
|
5
5
|
import { getStyle } from './chunk-K73JTEJQ.mjs';
|
|
6
|
-
import { useStore, RootStore } from './chunk-
|
|
6
|
+
import { useStore, RootStore } from './chunk-XSGTWROT.mjs';
|
|
7
7
|
import './chunk-K7LFG5BA.mjs';
|
|
8
|
-
import { cn } from './chunk-
|
|
9
|
-
import { __spreadProps, __spreadValues } from './chunk-
|
|
8
|
+
import { cn } from './chunk-BE2I23U2.mjs';
|
|
9
|
+
import { __spreadProps, __spreadValues } from './chunk-2EXDWOHY.mjs';
|
|
10
10
|
import { makeAutoObservable, makeObservable } from 'mobx';
|
|
11
11
|
import React3 from 'react';
|
|
12
12
|
import { observer } from 'mobx-react-lite';
|
|
@@ -106,4 +106,4 @@ declare class RootStore<T extends EventMap = any> {
|
|
|
106
106
|
}, ann?: any): T;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
export { BaseState as B, EventMap as E, NumberState as N, RootStore as R, Store as S, ValueState as V, StoreClass as a, StringState as b, BooleanState as c };
|
|
109
|
+
export { type BaseState as B, type EventMap as E, NumberState as N, RootStore as R, Store as S, ValueState as V, type StoreClass as a, StringState as b, BooleanState as c };
|
package/dist/ui.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { SkeletonBox } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { SkeletonBox } from './chunk-274FDVNP.mjs';
|
|
2
|
+
import { cn } from './chunk-BE2I23U2.mjs';
|
|
3
|
+
import './chunk-2EXDWOHY.mjs';
|
|
4
4
|
import React, { useState, useEffect } from 'react';
|
|
5
5
|
import { Card } from '@nextui-org/react';
|
|
6
6
|
import copyToClipboard from 'copy-to-clipboard';
|
package/dist/utils.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import * as _dexie from 'dexie';
|
|
2
|
-
import { Table } from 'dexie';
|
|
3
1
|
import DataLoader from 'dataloader';
|
|
2
|
+
import { Table } from 'dexie';
|
|
4
3
|
import BigNumber from 'bignumber.js';
|
|
5
4
|
|
|
6
5
|
declare class DexieCache {
|
|
@@ -10,7 +9,13 @@ declare class DexieCache {
|
|
|
10
9
|
value: any;
|
|
11
10
|
expiration: number;
|
|
12
11
|
};
|
|
13
|
-
},
|
|
12
|
+
}, any, {
|
|
13
|
+
key: string;
|
|
14
|
+
value: {
|
|
15
|
+
value: any;
|
|
16
|
+
expiration: number;
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
14
19
|
kv_get: DataLoader<string, {
|
|
15
20
|
value: any;
|
|
16
21
|
expiration: number;
|
package/dist/utils.mjs
CHANGED
package/dist/wallet.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Chain } from 'viem/chains';
|
|
3
|
-
import { a as PromiseHookData, S as StorageState } from './StorageState-
|
|
4
|
-
import { S as Store } from './root-
|
|
3
|
+
import { a as PromiseHookData, S as StorageState } from './StorageState-qapaHguM.js';
|
|
4
|
+
import { S as Store } from './root-C3lZnoCI.js';
|
|
5
5
|
import { WalletClient, PublicClient, HttpTransport, TransactionReceipt } from 'viem';
|
|
6
6
|
import EventEmitter from 'events';
|
|
7
7
|
import { SwitchChainMutate } from 'wagmi/query';
|
|
@@ -178,4 +178,4 @@ declare const RpcList: (() => React.JSX.Element) & {
|
|
|
178
178
|
displayName: string;
|
|
179
179
|
};
|
|
180
180
|
|
|
181
|
-
export { AddressMode, NetworkObject, RpcList, WalletConfigStore, WalletHistoryStore, WalletProvider, WalletRpcStore, WalletStore, WalletTransactionHistoryType, iotex, iotexTestnet };
|
|
181
|
+
export { type AddressMode, type NetworkObject, RpcList, WalletConfigStore, WalletHistoryStore, WalletProvider, WalletRpcStore, WalletStore, type WalletTransactionHistoryType, iotex, iotexTestnet };
|
package/dist/wallet.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { AIem } from './chunk-
|
|
1
|
+
import { AIem } from './chunk-3TBJNCTQ.mjs';
|
|
2
2
|
import './chunk-7MDKCI65.mjs';
|
|
3
|
-
import { StorageState, ObjectPool, PromiseHook } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import { DialogStore } from './chunk-
|
|
3
|
+
import { StorageState, ObjectPool, PromiseHook } from './chunk-DRTTNPZI.mjs';
|
|
4
|
+
import './chunk-2QK7O5HJ.mjs';
|
|
5
|
+
import { DialogStore } from './chunk-L6XS2K2K.mjs';
|
|
6
6
|
import { ToastPlugin } from './chunk-IMOLRP7I.mjs';
|
|
7
7
|
import './chunk-K73JTEJQ.mjs';
|
|
8
|
-
import { RootStore } from './chunk-
|
|
8
|
+
import { RootStore } from './chunk-XSGTWROT.mjs';
|
|
9
9
|
import { helper } from './chunk-R4N52NI2.mjs';
|
|
10
10
|
import './chunk-ONVPCAMQ.mjs';
|
|
11
11
|
import './chunk-K7LFG5BA.mjs';
|
|
12
|
-
import { __commonJS, __toESM, __spreadValues, __spreadProps } from './chunk-
|
|
12
|
+
import { __commonJS, __toESM, __spreadValues, __spreadProps } from './chunk-2EXDWOHY.mjs';
|
|
13
13
|
import { getDefaultConfig, useConnectModal, RainbowKitProvider, darkTheme, lightTheme } from '@rainbow-me/rainbowkit';
|
|
14
14
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
|
|
15
15
|
import React5, { useEffect, useState } from 'react';
|
|
@@ -18,7 +18,7 @@ import EventEmitter from 'events';
|
|
|
18
18
|
import { Icon } from '@iconify/react';
|
|
19
19
|
import { encodeFunctionData, hashMessage, hashTypedData } from 'viem';
|
|
20
20
|
import { observer } from 'mobx-react-lite';
|
|
21
|
-
import { iopayWallet, metaMaskWallet, walletConnectWallet, okxWallet, binanceWallet } from '@rainbow-me/rainbowkit/wallets';
|
|
21
|
+
import { iopayWallet, metaMaskWallet, walletConnectWallet, okxWallet, binanceWallet, safeWallet } from '@rainbow-me/rainbowkit/wallets';
|
|
22
22
|
import { reaction } from 'mobx';
|
|
23
23
|
import { iotex as iotex$1, iotexTestnet as iotexTestnet$1 } from 'viem/chains';
|
|
24
24
|
import { Checkbox, Tooltip, Button, Popover, PopoverTrigger, PopoverContent, Input, Table, TableHeader, TableColumn, TableBody, TableRow, TableCell } from '@nextui-org/react';
|
|
@@ -952,7 +952,7 @@ var getSDKVersion = () => "9.1.0";
|
|
|
952
952
|
// ../../node_modules/@safe-global/safe-apps-sdk/dist/esm/communication/utils.js
|
|
953
953
|
var dec2hex = (dec) => dec.toString(16).padStart(2, "0");
|
|
954
954
|
var generateId = (len) => {
|
|
955
|
-
const arr = new Uint8Array((len
|
|
955
|
+
const arr = new Uint8Array((len) / 2);
|
|
956
956
|
window.crypto.getRandomValues(arr);
|
|
957
957
|
return Array.from(arr, dec2hex).join("");
|
|
958
958
|
};
|
|
@@ -1559,7 +1559,7 @@ var WalletConfigStore = class {
|
|
|
1559
1559
|
},
|
|
1560
1560
|
{
|
|
1561
1561
|
groupName: "Others",
|
|
1562
|
-
wallets: [metaMaskWallet, walletConnectWallet, iopayWallet, okxWallet, binanceWallet]
|
|
1562
|
+
wallets: [metaMaskWallet, walletConnectWallet, iopayWallet, okxWallet, binanceWallet, safeWallet]
|
|
1563
1563
|
}
|
|
1564
1564
|
]
|
|
1565
1565
|
});
|
|
@@ -1923,12 +1923,15 @@ var WalletProvider = ({
|
|
|
1923
1923
|
}) => {
|
|
1924
1924
|
const walletConfig = RootStore.Get(WalletConfigStore, { args: { supportedChains: supportedChains != null ? supportedChains : [iotex] } });
|
|
1925
1925
|
const [config, setConfig] = useState(walletConfig.rainbowKitConfig);
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1926
|
+
useEffect(() => {
|
|
1927
|
+
const disposer = reaction(
|
|
1928
|
+
() => walletConfig.updateTicker,
|
|
1929
|
+
() => {
|
|
1930
|
+
setConfig(walletConfig.rainbowKitConfig);
|
|
1931
|
+
}
|
|
1932
|
+
);
|
|
1933
|
+
return () => disposer();
|
|
1934
|
+
});
|
|
1932
1935
|
useEffect(() => {
|
|
1933
1936
|
if (appName) {
|
|
1934
1937
|
walletConfig.appName = appName;
|
package/dist/wallet.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/utils.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/endpoint.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/config.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/safe-info.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/safe-apps.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/transactions.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/chains.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/common.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/master-copies.js","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/decoded-data.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/safe-messages.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/notifications.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/relay.js","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/index.ts","../module/Wallet/provider.tsx","../module/Wallet/index.tsx","../module/Wallet/walletPluginStore.tsx","../../../node_modules/@safe-global/safe-apps-sdk/src/version.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/utils.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/messageFormatter.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/methods.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/types/sdk.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/types/gateway.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/txs/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/eth/constants.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/eth/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/safe/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/safe/signatures.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/types/permissions.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/wallet/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/decorators/requirePermissions.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/sdk.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/index.ts","../module/Wallet/SuccessTxDialog/index.tsx","../module/Wallet/walletConfigStore.ts","../module/Wallet/type.ts","../module/Wallet/RpcList/index.tsx"],"names":["ImplementationVersionState","SafeAppAccessPolicyTypes","SafeAppFeatures","SafeAppSocialPlatforms","Operation","TransactionStatus","TransferDirection","TransactionTokenType","SettingsInfoType","TransactionInfoType","ConflictType","TransactionListItemType","DetailedExecutionInfoType","DurationType","StartTimeValue","LabelValue","RPC_AUTHENTICATION","GAS_PRICE_TYPE","FEATURES","TokenType","ConfirmationViewTypes","SafeMessageListItemType","SafeMessageStatus","DeviceType","React","useEffect","useReconnect","useConnectModal","Methods","RestrictedMethods","Icon","_a","observer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,QAAM,kBAAkB,CAAC,SAAwC;AAC/D,YAAM,WAAW,OAAO,SAAS,YAAY,SAAS;AACtD,aAAO,YAAY,UAAU,QAAQ,aAAa;IACpD;AAEA,aAAS,aAAa,KAAa,KAAa,OAAa;AAC3D,aAAO,IAAI,QAAQ,IAAI,OAAO,MAAM,GAAG,OAAO,GAAG,GAAG,KAAK;IAC3D;AAEA,aAAgB,aAAa,UAAkB,QAAe;AAC5D,aAAO,SACH,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,QAAgB,QAAO;AACjD,eAAO,aAAa,QAAQ,KAAK,OAAO,OAAO,GAAG,CAAC,CAAC;MACtD,GAAG,QAAQ,IACX;IACN;AANA,YAAA,eAAA;AAQA,aAAgB,eAAe,OAAc;AAC3C,UAAI,CAAC,OAAO;AACV,eAAO;;AAGT,YAAM,eAAe,IAAI,gBAAe;AACxC,aAAO,KAAK,KAAK,EAAE,QAAQ,CAAC,QAAO;AACjC,YAAI,MAAM,GAAG,KAAK,MAAM;AACtB,uBAAa,OAAO,KAAK,OAAO,MAAM,GAAG,CAAC,CAAC;;MAE/C,CAAC;AACD,YAAM,eAAe,aAAa,SAAQ;AAC1C,aAAO,eAAe,IAAI,YAAY,KAAK;IAC7C;AAbA,YAAA,iBAAA;AAeA,aAAe,cAAiB,MAAc;;AAC5C,YAAI;AAEJ,YAAI;AACF,iBAAO,MAAM,KAAK,KAAI;iBACtB,IAAM;AACN,iBAAO,CAAA;;AAGT,YAAI,CAAC,KAAK,IAAI;AACZ,gBAAM,SAAS,gBAAgB,IAAI,IAC/B,eAAe,KAAK,IAAI,KAAK,KAAK,OAAO,KACzC,sBAAsB,KAAK,UAAU;AACzC,gBAAM,IAAI,MAAM,MAAM;;AAGxB,eAAO;MACT,CAAC;;AAED,aAAsB,UACpB,KACA,QACA,MACA,SACA,aAAgC;;AAEhC,cAAM,iBAAc,OAAA,OAAA,EAClB,gBAAgB,mBAAkB,GAC/B,OAAO;AAGZ,cAAM,UAAuB;UAC3B,QAAQ,WAAM,QAAN,WAAM,SAAN,SAAU;UAClB,SAAS;;AAGX,YAAI,aAAa;AACf,kBAAQ,aAAa,IAAI;;AAG3B,YAAI,QAAQ,MAAM;AAChB,kBAAQ,OAAO,OAAO,SAAS,WAAW,OAAO,KAAK,UAAU,IAAI;;AAGtE,cAAM,OAAO,MAAM,MAAM,KAAK,OAAO;AAErC,eAAO,cAAiB,IAAI;MAC9B,CAAC;;AA5BD,YAAA,YAAA;AA8BA,aAAsB,QACpB,KACA,SACA,aAAgC;;AAEhC,cAAM,UAAuB;UAC3B,QAAQ;;AAGV,YAAI,SAAS;AACX,kBAAQ,SAAS,IAAC,OAAA,OAAA,OAAA,OAAA,CAAA,GACb,OAAO,GAAA,EACV,gBAAgB,mBAAkB,CAAA;;AAItC,YAAI,aAAa;AACf,kBAAQ,aAAa,IAAI;;AAG3B,cAAM,OAAO,MAAM,MAAM,KAAK,OAAO;AAErC,eAAO,cAAiB,IAAI;MAC9B,CAAC;;AAvBD,YAAA,UAAA;;;;;;;;;;ACxFA,QAAA,UAAA;AAGA,aAAS,QACP,SACA,MACA,YACA,OAAiC;AAEjC,YAAM,YAAW,GAAA,QAAA,cAAa,MAAM,UAAU;AAC9C,YAAM,UAAS,GAAA,QAAA,gBAAe,KAAK;AACnC,aAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM;IACvC;AAEA,aAAgB,aACd,SACA,MACA,QAA+E;AAE/E,YAAM,MAAM,QAAQ,SAAS,MAAgB,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,MAAM,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,KAAK;AACxE,cAAO,GAAA,QAAA,WAAU,KAAK,QAAQ,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,MAAM,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,SAAS,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,WAAW;IAClF;AAPA,YAAA,eAAA;AASA,aAAgB,YACd,SACA,MACA,QAA6E;AAE7E,YAAM,MAAM,QAAQ,SAAS,MAAgB,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,MAAM,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,KAAK;AACxE,cAAO,GAAA,QAAA,WAAU,KAAK,OAAO,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,MAAM,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,SAAS,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,WAAW;IACjF;AAPA,YAAA,cAAA;AASA,aAAgB,eACd,SACA,MACA,QAAmF;AAEnF,YAAM,MAAM,QAAQ,SAAS,MAAgB,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,MAAM,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,KAAK;AACxE,cAAO,GAAA,QAAA,WAAU,KAAK,UAAU,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,MAAM,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,SAAS,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,WAAW;IACpF;AAPA,YAAA,iBAAA;AASA,aAAgB,YACd,SACA,MACA,QACA,QAAe;AAEf,UAAI,QAAQ;AACV,gBAAO,GAAA,QAAA,SAAQ,QAAQ,QAAW,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,WAAW;;AAEvD,YAAM,MAAM,QAAQ,SAAS,MAAgB,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,MAAM,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,KAAK;AACxE,cAAO,GAAA,QAAA,SAAQ,KAAK,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,SAAS,WAAM,QAAN,WAAM,SAAA,SAAN,OAAQ,WAAW;IAC1D;AAXA,YAAA,cAAA;;;;;;;;;;ACzCa,YAAA,mBAAmB;;;;;;;;;;ACEhC,QAAY;AAAZ,KAAA,SAAYA,6BAA0B;AACpC,MAAAA,4BAAA,YAAA,IAAA;AACA,MAAAA,4BAAA,UAAA,IAAA;AACA,MAAAA,4BAAA,SAAA,IAAA;IACF,GAJY,6BAAA,QAAA,+BAAA,QAAA,6BAA0B,CAAA,EAAA;;;;;;;;;;ACFtC,QAAY;AAAZ,KAAA,SAAYC,2BAAwB;AAClC,MAAAA,0BAAA,gBAAA,IAAA;AACA,MAAAA,0BAAA,iBAAA,IAAA;IACF,GAHY,2BAAA,QAAA,6BAAA,QAAA,2BAAwB,CAAA,EAAA;AAqBpC,QAAY;AAAZ,KAAA,SAAYC,kBAAe;AACzB,MAAAA,iBAAA,sBAAA,IAAA;IACF,GAFY,kBAAA,QAAA,oBAAA,QAAA,kBAAe,CAAA,EAAA;AAI3B,QAAY;AAAZ,KAAA,SAAYC,yBAAsB;AAChC,MAAAA,wBAAA,SAAA,IAAA;AACA,MAAAA,wBAAA,QAAA,IAAA;AACA,MAAAA,wBAAA,SAAA,IAAA;IACF,GAJY,yBAAA,QAAA,2BAAA,QAAA,yBAAsB,CAAA,EAAA;;;;;;;;;;ACpBlC,QAAYC;AAAZ,KAAA,SAAYA,YAAS;AACnB,MAAAA,WAAAA,WAAA,MAAA,IAAA,CAAA,IAAA;AACA,MAAAA,WAAAA,WAAA,UAAA,IAAA,CAAA,IAAA;IACF,GAHYA,aAAA,QAAA,cAAA,QAAA,YAAS,CAAA,EAAA;AA2BrB,QAAYC;AAAZ,KAAA,SAAYA,oBAAiB;AAC3B,MAAAA,mBAAA,wBAAA,IAAA;AACA,MAAAA,mBAAA,oBAAA,IAAA;AACA,MAAAA,mBAAA,WAAA,IAAA;AACA,MAAAA,mBAAA,QAAA,IAAA;AACA,MAAAA,mBAAA,SAAA,IAAA;IACF,GANYA,qBAAA,QAAA,sBAAA,QAAA,oBAAiB,CAAA,EAAA;AAQ7B,QAAYC;AAAZ,KAAA,SAAYA,oBAAiB;AAC3B,MAAAA,mBAAA,UAAA,IAAA;AACA,MAAAA,mBAAA,UAAA,IAAA;AACA,MAAAA,mBAAA,SAAA,IAAA;IACF,GAJYA,qBAAA,QAAA,sBAAA,QAAA,oBAAiB,CAAA,EAAA;AAM7B,QAAY;AAAZ,KAAA,SAAYC,uBAAoB;AAC9B,MAAAA,sBAAA,OAAA,IAAA;AACA,MAAAA,sBAAA,QAAA,IAAA;AACA,MAAAA,sBAAA,aAAA,IAAA;IACF,GAJY,uBAAA,QAAA,yBAAA,QAAA,uBAAoB,CAAA,EAAA;AAMhC,QAAY;AAAZ,KAAA,SAAYC,mBAAgB;AAC1B,MAAAA,kBAAA,sBAAA,IAAA;AACA,MAAAA,kBAAA,WAAA,IAAA;AACA,MAAAA,kBAAA,cAAA,IAAA;AACA,MAAAA,kBAAA,YAAA,IAAA;AACA,MAAAA,kBAAA,kBAAA,IAAA;AACA,MAAAA,kBAAA,uBAAA,IAAA;AACA,MAAAA,kBAAA,eAAA,IAAA;AACA,MAAAA,kBAAA,gBAAA,IAAA;AACA,MAAAA,kBAAA,WAAA,IAAA;AACA,MAAAA,kBAAA,cAAA,IAAA;IACF,GAXY,mBAAA,QAAA,qBAAA,QAAA,mBAAgB,CAAA,EAAA;AAa5B,QAAY;AAAZ,KAAA,SAAYC,sBAAmB;AAC7B,MAAAA,qBAAA,UAAA,IAAA;AACA,MAAAA,qBAAA,iBAAA,IAAA;AACA,MAAAA,qBAAA,QAAA,IAAA;AACA,MAAAA,qBAAA,UAAA,IAAA;AACA,MAAAA,qBAAA,YAAA,IAAA;AACA,MAAAA,qBAAA,YAAA,IAAA;AACA,MAAAA,qBAAA,eAAA,IAAA;IACF,GARY,sBAAA,QAAA,wBAAA,QAAA,sBAAmB,CAAA,EAAA;AAU/B,QAAY;AAAZ,KAAA,SAAYC,eAAY;AACtB,MAAAA,cAAA,MAAA,IAAA;AACA,MAAAA,cAAA,UAAA,IAAA;AACA,MAAAA,cAAA,KAAA,IAAA;IACF,GAJY,eAAA,QAAA,iBAAA,QAAA,eAAY,CAAA,EAAA;AAMxB,QAAY;AAAZ,KAAA,SAAYC,0BAAuB;AACjC,MAAAA,yBAAA,aAAA,IAAA;AACA,MAAAA,yBAAA,OAAA,IAAA;AACA,MAAAA,yBAAA,iBAAA,IAAA;AACA,MAAAA,yBAAA,YAAA,IAAA;IACF,GALY,0BAAA,QAAA,4BAAA,QAAA,0BAAuB,CAAA,EAAA;AAOnC,QAAY;AAAZ,KAAA,SAAYC,4BAAyB;AACnC,MAAAA,2BAAA,UAAA,IAAA;AACA,MAAAA,2BAAA,QAAA,IAAA;IACF,GAHY,4BAAA,QAAA,8BAAA,QAAA,4BAAyB,CAAA,EAAA;AAyMrC,QAAY;AAAZ,KAAA,SAAYC,eAAY;AACtB,MAAAA,cAAA,MAAA,IAAA;AACA,MAAAA,cAAA,gBAAA,IAAA;IACF,GAHY,eAAA,QAAA,iBAAA,QAAA,eAAY,CAAA,EAAA;AAKxB,QAAY;AAAZ,KAAA,SAAYC,iBAAc;AACxB,MAAAA,gBAAA,gBAAA,IAAA;AACA,MAAAA,gBAAA,UAAA,IAAA;IACF,GAHY,iBAAA,QAAA,mBAAA,QAAA,iBAAc,CAAA,EAAA;AAwG1B,QAAY;AAAZ,KAAA,SAAYC,aAAU;AACpB,MAAAA,YAAA,QAAA,IAAA;AACA,MAAAA,YAAA,MAAA,IAAA;IACF,GAHY,aAAA,QAAA,eAAA,QAAA,aAAU,CAAA,EAAA;;;;;;;;;;AC5YtB,QAAY;AAAZ,KAAA,SAAYC,qBAAkB;AAC5B,MAAAA,oBAAA,cAAA,IAAA;AACA,MAAAA,oBAAA,mBAAA,IAAA;AACA,MAAAA,oBAAA,SAAA,IAAA;IACF,GAJY,qBAAA,QAAA,uBAAA,QAAA,qBAAkB,CAAA,EAAA;AA6B9B,QAAY;AAAZ,KAAA,SAAYC,iBAAc;AACxB,MAAAA,gBAAA,QAAA,IAAA;AACA,MAAAA,gBAAA,OAAA,IAAA;AACA,MAAAA,gBAAA,YAAA,IAAA;AACA,MAAAA,gBAAA,SAAA,IAAA;IACF,GALY,iBAAA,QAAA,mBAAA,QAAA,iBAAc,CAAA,EAAA;AA+B1B,QAAY;AAAZ,KAAA,SAAYC,WAAQ;AAClB,MAAAA,UAAA,QAAA,IAAA;AACA,MAAAA,UAAA,WAAA,IAAA;AACA,MAAAA,UAAA,sBAAA,IAAA;AACA,MAAAA,UAAA,eAAA,IAAA;AACA,MAAAA,UAAA,gBAAA,IAAA;AACA,MAAAA,UAAA,SAAA,IAAA;AACA,MAAAA,UAAA,sBAAA,IAAA;AACA,MAAAA,UAAA,eAAA,IAAA;AACA,MAAAA,UAAA,SAAA,IAAA;IACF,GAVY,WAAA,QAAA,aAAA,QAAA,WAAQ,CAAA,EAAA;;;;;;;;;;AClDpB,QAAYC;AAAZ,KAAA,SAAYA,YAAS;AACnB,MAAAA,WAAA,OAAA,IAAA;AACA,MAAAA,WAAA,QAAA,IAAA;AACA,MAAAA,WAAA,cAAA,IAAA;IACF,GAJYA,aAAA,QAAA,cAAA,QAAA,YAAS,CAAA,EAAA;;;;;ACZrB;AAAA;AAAA;AACA,WAAO,eAAe,SAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAAA;AAAA;;;;;;;;ACC5D,QAAY;AAAZ,KAAA,SAAYC,wBAAqB;AAC/B,MAAAA,uBAAA,gBAAA,IAAA;AACA,MAAAA,uBAAA,qBAAA,IAAA;IACF,GAHY,wBAAA,QAAA,0BAAA,QAAA,wBAAqB,CAAA,EAAA;;;;;;;;;;ACAjC,QAAY;AAAZ,KAAA,SAAYC,0BAAuB;AACjC,MAAAA,yBAAA,YAAA,IAAA;AACA,MAAAA,yBAAA,SAAA,IAAA;IACF,GAHY,0BAAA,QAAA,4BAAA,QAAA,0BAAuB,CAAA,EAAA;AAUnC,QAAY;AAAZ,KAAA,SAAYC,oBAAiB;AAC3B,MAAAA,mBAAA,oBAAA,IAAA;AACA,MAAAA,mBAAA,WAAA,IAAA;IACF,GAHY,oBAAA,QAAA,sBAAA,QAAA,oBAAiB,CAAA,EAAA;;;;;;;;;;ACZ7B,QAAY;AAAZ,KAAA,SAAYC,aAAU;AACpB,MAAAA,YAAA,SAAA,IAAA;AACA,MAAAA,YAAA,KAAA,IAAA;AACA,MAAAA,YAAA,KAAA,IAAA;IACF,GAJY,aAAA,QAAA,eAAA,QAAA,aAAU,CAAA,EAAA;;;;;ACAtB;AAAA;AAAA;AACA,WAAO,eAAe,SAAS,cAAc,EAAE,OAAO,KAAK,CAAC;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACD5D,QAAA,aAAA;AA0BA,QAAA,WAAA;AAOA,iBAAA,qBAAA,OAAA;AACA,iBAAA,qBAAA,OAAA;AACA,iBAAA,wBAAA,OAAA;AACA,iBAAA,kBAAA,OAAA;AACA,iBAAA,kBAAA,OAAA;AACA,iBAAA,yBAAA,OAAA;AACA,iBAAA,wBAAA,OAAA;AACA,iBAAA,yBAAA,OAAA;AACA,iBAAA,yBAAA,OAAA;AACA,iBAAA,iBAAA,OAAA;AAGA,QAAI,UAAkB,SAAA;AAKf,QAAM,aAAa,CAAC,QAAqB;AAC9C,gBAAU;IACZ;AAFa,YAAA,aAAU;AASvB,aAAgB,iBACd,SACA,MAA2D;AAE3D,cAAO,GAAA,WAAA,cAAa,SAAS,8BAA8B,EAAE,MAAM,EAAE,QAAO,GAAI,KAAI,CAAE;IACxF;AALA,YAAA,mBAAA;AAUA,aAAgB,cAAc,SAAiB,SAAe;AAC5D,cAAO,GAAA,WAAA,aAAY,SAAS,wCAAwC,EAAE,MAAM,EAAE,SAAS,QAAO,EAAE,CAAE;IACpG;AAFA,YAAA,gBAAA;AAOA,aAAgB,YAAY,SAAiB,SAAe;AAC1D,cAAO,GAAA,WAAA,aAAY,SAAS,wCAAwC,EAAE,MAAM,EAAE,SAAS,QAAO,EAAE,CAAE;IACpG;AAFA,YAAA,cAAA;AAOA,aAAgB,qBACd,SACA,SACA,OACA,SAAgB;AAEhB,cAAO,GAAA,WAAA,aACL,SACA,4DACA;QACE,MAAM,EAAE,SAAS,QAAO;QACxB;SAEF,OAAO;IAEX;AAfA,YAAA,uBAAA;AAoBA,aAAgB,sBACd,SACA,SACA,OACA,SAAgB;AAEhB,cAAO,GAAA,WAAA,aACL,SACA,6DACA;QACE,MAAM,EAAE,SAAS,QAAO;QACxB;SAEF,OAAO;IAEX;AAfA,YAAA,wBAAA;AAoBA,aAAgB,wBACd,SACA,SACA,OACA,SAAgB;AAEhB,cAAO,GAAA,WAAA,aACL,SACA,+DACA;QACE,MAAM,EAAE,SAAS,QAAO;QACxB;SAEF,OAAO;IAEX;AAfA,YAAA,0BAAA;AAoBA,aAAgB,YACd,SACA,SACA,WAAW,OACX,QAAkE,CAAA,GAAE;AAEpE,cAAO,GAAA,WAAA,aAAY,SAAS,4DAA4D;QACtF,MAAM,EAAE,SAAS,SAAS,SAAQ;QAClC;OACD;IACH;AAVA,YAAA,cAAA;AAeA,aAAgB,oBAAiB;AAC/B,cAAO,GAAA,WAAA,aAAY,SAAS,mCAAmC;IACjE;AAFA,YAAA,oBAAA;AAOA,aAAgB,cAAc,SAAiB,SAAe;AAC5D,cAAO,GAAA,WAAA,aAAY,SAAS,+CAA+C,EAAE,MAAM,EAAE,SAAS,QAAO,EAAE,CAAE;IAC3G;AAFA,YAAA,gBAAA;AAOA,aAAgB,iBAAiB,SAAe;AAC9C,cAAO,GAAA,WAAA,aAAY,SAAS,8BAA8B,EAAE,MAAM,EAAE,QAAO,EAAE,CAAE;IACjF;AAFA,YAAA,mBAAA;AAOA,aAAgB,gBACd,SACA,SACA,QAAsE,CAAA,GAAE;AAExE,cAAO,GAAA,WAAA,aAAY,SAAS,qDAAqD;QAC/E,MAAM,EAAE,SAAS,QAAO;QACxB;OACD;IACH;AATA,YAAA,kBAAA;AAcA,aAAgB,oBACd,SACA,SACA,QAAgF,CAAA,GAChF,SAAgB;AAEhB,cAAO,GAAA,WAAA,aACL,SACA,qDACA,EAAE,MAAM,EAAE,SAAS,QAAO,GAAI,MAAK,GACnC,OAAO;IAEX;AAZA,YAAA,sBAAA;AAiBA,aAAgB,sBACd,SACA,SACA,QAAmE,CAAA,GACnE,SAAgB;AAEhB,cAAO,GAAA,WAAA,aACL,SACA,kEACA,EAAE,MAAM,EAAE,SAAS,cAAc,QAAO,GAAI,MAAK,GACjD,OAAO;IAEX;AAZA,YAAA,wBAAA;AAiBA,aAAgB,oBACd,SACA,SACA,QAAkE,CAAA,GAClE,SAAgB;AAEhB,cAAO,GAAA,WAAA,aACL,SACA,iEACA,EAAE,MAAM,EAAE,SAAS,cAAc,QAAO,GAAI,MAAK,GACjD,OAAO;IAEX;AAZA,YAAA,sBAAA;AAiBA,aAAgB,sBAAsB,SAAiB,eAAqB;AAC1E,cAAO,GAAA,WAAA,aAAY,SAAS,qDAAqD;QAC/E,MAAM,EAAE,SAAS,cAAa;OAC/B;IACH;AAJA,YAAA,wBAAA;AASA,aAAgB,kBACd,SACA,YACA,WAA8E;AAE9E,cAAO,GAAA,WAAA,gBAAe,SAAS,kDAAkD;QAC/E,MAAM,EAAE,SAAS,WAAU;QAC3B,MAAM,EAAE,UAAS;OAClB;IACH;AATA,YAAA,oBAAA;AAcA,aAAgB,sBACd,SACA,SACA,MAAkE;AAElE,cAAO,GAAA,WAAA,cAAa,SAAS,+EAA+E;QAC1G,MAAM,EAAE,SAAS,cAAc,QAAO;QACtC;OACD;IACH;AATA,YAAA,wBAAA;AAWA,aAAgB,UAAU,SAAiB,SAAe;AACxD,cAAO,GAAA,WAAA,aAAY,SAAS,oDAAoD;QAC9E,MAAM,EAAE,SAAS,cAAc,QAAO;OACvC;IACH;AAJA,YAAA,YAAA;AASA,aAAgB,mBACd,SACA,SACA,MAA6D;AAE7D,cAAO,GAAA,WAAA,cAAa,SAAS,4DAA4D;QACvF,MAAM,EAAE,SAAS,cAAc,QAAO;QACtC;OACD;IACH;AATA,YAAA,qBAAA;AAcA,aAAgB,oBACd,SACA,aACA,aACA,IAA2D;AAE3D,cAAO,GAAA,WAAA,cAAa,SAAS,4EAA4E;QACvG,MAAM,EAAE,SAAkB,cAAc,YAAW;QACnD,MAAM,EAAE,MAAM,aAAa,GAAE;OAC9B;IACH;AAVA,YAAA,sBAAA;AAeA,aAAgB,gBAAgB,OAAwD;AACtF,cAAO,GAAA,WAAA,aAAY,SAAS,cAAc;QACxC;OACD;IACH;AAJA,YAAA,kBAAA;AASA,aAAgB,eAAe,SAAe;AAC5C,cAAO,GAAA,WAAA,aAAY,SAAS,wBAAwB;QAClD,MAAM,EAAE,QAAgB;OACzB;IACH;AAJA,YAAA,iBAAA;AASA,aAAgB,YACd,SACA,QAA6D,CAAA,GAAE;AAE/D,cAAO,GAAA,WAAA,aAAY,SAAS,kCAAkC;QAC5D,MAAM,EAAE,QAAgB;QACxB;OACD;IACH;AARA,YAAA,cAAA;AAaA,aAAgB,gBAAgB,SAAe;AAC7C,cAAO,GAAA,WAAA,aAAY,SAAS,4CAA4C;QACtE,MAAM,EAAE,QAAgB;OACzB;IACH;AAJA,YAAA,kBAAA;AASA,aAAgB,eACd,SACA,aACA,IAA2D;AAE3D,cAAO,GAAA,WAAA,cAAa,SAAS,qCAAqC;QAChE,MAAM,EAAE,QAAgB;QACxB,MAAM,EAAE,MAAM,aAAa,GAAE;OAC9B;IACH;AATA,YAAA,iBAAA;AAcA,aAAgB,gBAAgB,SAAiB,SAAiB,SAAgB;AAChF,cAAO,GAAA,WAAA,aACL,SACA,sDACA,EAAE,MAAM,EAAE,SAAS,cAAc,QAAO,GAAI,OAAO,CAAA,EAAE,GACrD,OAAO;IAEX;AAPA,YAAA,kBAAA;AAYA,aAAgB,eAAe,SAAiB,aAAmB;AACjE,cAAO,GAAA,WAAA,aAAY,SAAS,gDAAgD;QAC1E,MAAM,EAAE,SAAS,cAAc,YAAW;OAC3C;IACH;AAJA,YAAA,iBAAA;AASA,aAAgB,mBACd,SACA,SACA,MAA8D;AAE9D,cAAO,GAAA,WAAA,cAAa,SAAS,sDAAsD;QACjF,MAAM,EAAE,SAAS,cAAc,QAAO;QACtC;OACD;IACH;AATA,YAAA,qBAAA;AAcA,aAAgB,mBACd,SACA,aACA,MAA8D;AAE9D,cAAO,GAAA,WAAA,cAAa,SAAS,2DAA2D;QACtF,MAAM,EAAE,SAAS,cAAc,YAAW;QAC1C;OACD;IACH;AATA,YAAA,qBAAA;AAcA,aAAgB,aAAa,SAAiB,QAA0B,CAAA,GAAE;AACxE,cAAO,GAAA,WAAA,aAAY,SAAS,kCAAkC;QAC5D,MAAM,EAAE,QAAO;QACf;OACD;IACH;AALA,YAAA,eAAA;AAUA,aAAgB,eAAe,MAAyD;AACtF,cAAO,GAAA,WAAA,cAAa,SAAS,8BAA8B;QACzD;OACD;IACH;AAJA,YAAA,iBAAA;AASA,aAAgB,eAAe,SAAiB,SAAiB,MAAY;AAC3E,cAAO,GAAA,WAAA,gBAAe,SAAS,0EAA0E;QACvG,MAAM,EAAE,SAAS,cAAc,SAAS,KAAI;OAC7C;IACH;AAJA,YAAA,iBAAA;AASA,aAAgB,iBAAiB,SAAiB,MAAY;AAC5D,cAAO,GAAA,WAAA,gBAAe,SAAS,qDAAqD;QAClF,MAAM,EAAE,SAAS,KAAI;OACtB;IACH;AAJA,YAAA,mBAAA;AAkBA,aAAgB,cACd,SACA,aACA,MACA,SAA8D;AAE9D,cAAO,GAAA,WAAA,cAAa,SAAS,oDAAoD;QAC/E,MAAM,EAAE,SAAS,cAAc,YAAW;QAC1C;QACA;OACD;IACH;AAXA,YAAA,gBAAA;AA0BA,aAAgB,YACd,SACA,aACA,eACA,MACA,SAA4D;AAE5D,cAAO,GAAA,WAAA,aAAY,SAAS,6DAA6D;QACvF,MAAM,EAAE,SAAS,cAAc,aAAa,QAAQ,cAAa;QACjE;QACA;OACD;IACH;AAZA,YAAA,cAAA;AAiBA,aAAgB,4BACd,SACA,aACA,eAAqB;AAErB,cAAO,GAAA,WAAA,cAAa,SAAS,2EAA2E;QACtG,MAAM,EAAE,SAAS,cAAc,aAAa,QAAQ,cAAa;QACjE,MAAM;OACP;IACH;AATA,YAAA,8BAAA;AAmBA,aAAgB,YACd,SACA,aACA,eACA,MAAsD;AAEtD,cAAO,GAAA,WAAA,aAAY,SAAS,oEAAoE;QAC9F,MAAM,EAAE,SAAS,cAAc,aAAa,QAAQ,cAAa;QACjE;OACD;IACH;AAVA,YAAA,cAAA;AAwBA,aAAgB,mBACd,SACA,aACA,eACA,SAAyD;AAEzD,cAAO,GAAA,WAAA,aAAY,SAAS,6DAA6D;QACvF,MAAM,EAAE,SAAS,cAAc,aAAa,QAAQ,cAAa;QACjE;OACD;IACH;AAVA,YAAA,qBAAA;AAuBA,aAAgB,sBACd,SACA,aACA,eACA,SAA4D;AAE5D,cAAO,GAAA,WAAA,gBAAe,SAAS,6DAA6D;QAC1F,MAAM,EAAE,SAAS,cAAc,aAAa,QAAQ,cAAa;QACjE;OACD;IACH;AAVA,YAAA,wBAAA;AAkBA,aAAgB,uBACd,SACA,aACA,MAAkE;AAElE,cAAO,GAAA,WAAA,cAAa,SAAS,sDAAsD;QACjF,MAAM,EAAE,SAAS,cAAc,YAAW;QAC1C;OACD;IACH;AATA,YAAA,yBAAA;AAeA,aAAgB,kBAAkB,OAA8D;AAC9F,cAAO,GAAA,WAAA,gBAAe,SAAS,qBAAqB,EAAE,MAAK,CAAE;IAC/D;AAFA,YAAA,oBAAA;AAQA,aAAgB,eAAe,OAA2D;AACxF,cAAO,GAAA,WAAA,gBAAe,SAAS,yBAAyB,EAAE,MAAK,CAAE;IACnE;AAFA,YAAA,iBAAA;AAOA,aAAgB,iBACd,OACA,OAA0F;AAE1F,cAAO,GAAA,WAAA,aAAY,SAAS,aAAa;QACvC,OAAK,OAAA,OAAA,OAAA,OAAA,CAAA,GACA,KAAK,GAAA,EACR,OAAO,MAAM,KAAK,GAAG,EAAC,CAAA;OAEzB;IACH;AAVA,YAAA,mBAAA;AAYA,aAAgB,YAAY,SAAiB,iBAAuB;AAClE,cAAO,GAAA,WAAA,aAAY,SAAS,oDAAoD;QAC9E,MAAM;UACJ;UACA;;OAEH;IACH;AAPA,YAAA,cAAA;AASA,aAAgB,eAAY;AAC1B,cAAO,GAAA,WAAA,aAAY,SAAS,kBAAkB,EAAE,aAAa,UAAS,CAAE;IAC1E;AAFA,YAAA,eAAA;AAIA,aAAgB,WAAW,MAAqD;AAC9E,cAAO,GAAA,WAAA,cAAa,SAAS,mBAAmB;QAC9C;QACA,aAAa;OACd;IACH;AALA,YAAA,aAAA;AAOA,aAAgB,cAAc,MAAwD;AACpF,cAAO,GAAA,WAAA,cAAa,SAAS,gBAAgB;QAC3C;QACA,aAAa;OACd;IACH;AALA,YAAA,gBAAA;AAOA,aAAgB,WAAW,SAAe;AACxC,cAAO,GAAA,WAAA,aAAY,SAAS,0BAA0B;QACpD,MAAM,EAAE,QAAO;QACf,aAAa;OACd;IACH;AALA,YAAA,aAAA;AAOA,aAAgB,cAAc,SAAe;AAC3C,cAAO,GAAA,WAAA,gBAAe,SAAS,0BAA0B;QACvD,MAAM,EAAE,QAAO;QACf,aAAa;OACd;IACH;AALA,YAAA,gBAAA;AAOA,aAAgB,sBAAmB;AACjC,cAAO,GAAA,WAAA,aAAY,SAAS,yBAAyB;IACvD;AAFA,YAAA,sBAAA;AAIA,aAAgB,uBAAuB,SAAe;AACpD,cAAO,GAAA,WAAA,aAAY,SAAS,wCAAwC;QAClE,MAAM,EAAE,QAAO;QACf,aAAa;OACd;IACH;AALA,YAAA,yBAAA;AAOA,aAAgB,uBACd,SACA,MAAmE;AAEnE,cAAO,GAAA,WAAA,aAAY,SAAS,wCAAwC;QAClE,MAAM,EAAE,QAAO;QACf;QACA,aAAa;OACd;IACH;AATA,YAAA,yBAAA;;;;;AC9qBA,SAAS,oBAAoB,WAAW,kBAAkB;AAC1D,SAAS,aAAa,2BAA2B;AACjD,OAAOC,UAAS,aAAAC,YAAW,gBAAgB;AAC3C,SAAS,gBAAAC,eAAc,qBAAqB;;;ACH5C,SAAgB,iBAAiB;AAOjC,OAAO,kBAAkB;AAEzB,SAAiB,YAAY,YAAY,eAA6B,gBAAgB,uBAAwB;AAC9G,SAAgB,mBAAAC,wBAA4C;;;ACV5D,OAAO,WAAW;AAClB,SAAS,YAAY;AASrB,IAAM,iBAAiB;AAAA,EACrB,EAAE,MAAM,mCAAmC,SAAS,GAAG,QAAQ,GAAG,QAAQ,MAAM;AAAA,EAChF,EAAE,MAAM,uCAAuC,SAAS,GAAG,QAAQ,EAAG;AAAA,EACtE,EAAE,MAAM,sCAAsC,SAAS,GAAG,QAAQ,EAAG;AAAA,EACrE,EAAE,MAAM,0CAA0C,SAAS,GAAG,QAAQ,EAAG;AAAA,EACzE,EAAE,MAAM,wBAAwB,SAAS,GAAG,QAAQ,EAAG;AAAA,EACvD,EAAE,MAAM,0CAA0C,SAAS,GAAG,QAAQ,EAAG;AAAA,EACzE,EAAE,MAAM,8BAA8B,SAAS,GAAG,QAAQ,EAAG;AAC/D;AACO,IAAM,iBAAN,MAAsC;AAAA,EAAtC;AACL,eAAM;AACN,0BAAiB;AACjB,kBAAS,IAAI,aAAa,EAAE,SAAS,uCAAuC,KAAK,aAAa,OAAO,sCAAsC,CAAC;AAC5I,2BAAkB,IAAI,aAAa,EAAE,KAAK,mBAAmB,SAAS,KAAK,CAAC;AAC5E,qBAAY;AACZ,mBAAU,IAAI,aAAa,EAAE,KAAK,oBAAoB,SAAS,gBAAgB,OAAO,CAAC,EAAE,CAAC;AAC1F,yBAAgB;AAAA;AAAA,EAChB,IAAI,aAAa;AA3BnB;AA4BI,YAAQ,KAAI,UAAK,QAAQ,UAAb,mBAAoB,KAAK,OAAK,EAAE,QAAQ,KAAK,OAAO;AAChE,aAAO,UAAK,QAAQ,UAAb,mBAAoB,KAAK,OAAK,EAAE,QAAQ,KAAK,OAAO,WAAU;AAAA,EACvE;AAAA,EACA,eAAe;AACb,UAAM,OAAO,EAAE,MAAM,KAAK,WAAW,SAAS,GAAG,QAAQ,GAAG,QAAQ,KAAK;AACzE,QAAI,eAAe,KAAK,OAAK,EAAE,SAAS,KAAK,IAAI,GAAG;AAClD,aAAO,UAAU,IAAI,WAAW,EAAE,MAAM,oBAAoB;AAAA,IAC9D;AACA,QAAI,KAAK,QAAQ,OAAO;AACtB,WAAK,QAAQ,KAAK,CAAC,GAAG,KAAK,QAAQ,OAAO,IAAI,CAAC;AAC/C,WAAK,QAAQ;AACb;AAAA,IACF;AACA,SAAK,QAAQ,KAAK,CAAC,GAAG,gBAAgB,IAAI,CAAC;AAC3C,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,MAAM,cAAc,KAAK;AA5C3B;AA6CI,QAAI;AACF,UAAI,OAAO,UAAU;AAAa;AAClC,cAAM,sCAAQ,aAAR,mBAAkB,QAAQ;AAAA,QAC9B,QAAQ;AAAA,QACR,QAAQ,CAAC;AAAA,UACP,SAAS,KAAM,MAAM,SAAS,EAAE,CAAC;AAAA,UACjC,WAAW;AAAA,UACX,gBAAgB;AAAA,YACd,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,UAAU;AAAA,UACZ;AAAA,UACA,SAAS,CAAC,GAAG;AAAA,UACb,mBAAmB,CAAC,sBAAsB;AAAA,QAC5C,CAAC;AAAA,MACH;AACA,gBAAU,IAAI,WAAW,EAAE,QAAQ,eAAe;AAClD,cAAQ,IAAI,eAAe;AAAA,IAC7B,SAAS,OAAO;AACd,cAAQ,MAAM,yBAAyB,KAAK;AAAA,IAC9C;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,gBAAgB;AACrB,SAAK,YAAY;AACjB,eAAW,MAAM;AACf,WAAK,QAAQ;AAAA,IACf,GAAG,GAAG;AAAA,EACR;AAAA,EACA,aAAa,SAAiB;AAC5B,QAAI,UAAU,GAAG;AACf,aAAO;AAAA,IACT;AACA,QAAI,UAAU,GAAG;AACf,aAAO;AAAA,IACT;AACA,QAAI,UAAU,GAAG;AACf,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,MAAM,gBAAgB,KAAyE;AAC7F,UAAM,QAAQ,YAAY,IAAI;AAC9B,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QAChC,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,gBAAgB;AAAA,QAClB;AAAA,QACA,MAAM,KAAK,UAAU;AAAA,UACnB,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ,CAAC,UAAU,KAAK;AAAA,UACxB,IAAI;AAAA,QACN,CAAC;AAAA,MACH,CAAC;AAED,UAAI,CAAC,SAAS,IAAI;AAChB,cAAM,IAAI,MAAM,sBAAsB,SAAS,MAAM,EAAE;AAAA,MACzD;AACA,YAAM,MAAM,MAAM,SAAS,KAAK;AAChC,cAAQ,IAAI,GAAG;AACf,YAAM,MAAM,YAAY,IAAI;AAC5B,aAAO,EAAE,KAAK,UAAU,OAAO,OAAO,OAAO,cAAe,MAAM,SAAS,KAAO,SAAS,EAAE,UAAU,KAAK,CAAC,CAAC,GAAG,QAAQ,SAAS,IAAI,OAAO,QAAQ,EAAE,EAAE;AAAA,IAC3J,SAAS,OAAO;AACd,cAAQ,MAAM,4BAA4B,KAAK;AAC/C,aAAO,EAAE,KAAK,UAAU,IAAI,QAAQ,GAAG;AAAA,IACzC;AAAA,EACF;AAAA,EACA,UAAU;AAlHZ;AAmHI,eAAK,YAAL,mBAAc,MAAM,QAAQ,OAAK;AAC/B,WAAK,gBAAgB,EAAE,IAAI,EAAE,KAAK,SAAO;AACvC,UAAE,UAAU,IAAI;AAChB,UAAE,SAAS,IAAI;AAAA,MACjB,CAAC;AAAA,IACH;AACA,SAAK,QAAQ,KAAK,KAAK,QAAQ,KAAK;AAAA,EACtC;AAAA,EACA,UAAU,MAAc;AACtB,SAAK,QAAQ,KAAK,KAAK,QAAQ,MAAM,OAAO,OAAK,EAAE,SAAS,IAAI,CAAC;AAAA,EACnE;AAAA,EACA,UAAU,OAAe;AACvB,QAAI,QAAQ,GAAG;AACb,aAAO,oCAAC,QAAK,MAAK,iBAAgB,OAAM,MAAK,QAAO,MAAK,OAAO,EAAE,OAAO,UAAU,GAAG;AAAA,IACxF;AACA,QAAI,QAAQ,GAAG;AACb,aAAO,oCAAC,QAAK,MAAK,6BAA4B,OAAM,MAAK,QAAO,MAAK,OAAO,EAAE,OAAO,UAAU,GAAG;AAAA,IACpG;AACA,QAAI,QAAQ,GAAG;AACb,aAAO,oCAAC,QAAK,MAAK,aAAY,OAAM,MAAK,QAAO,MAAK,OAAO,EAAE,OAAO,UAAU,GAAG;AAAA,IACpF;AACA,WAAO,oCAAC,QAAK,MAAK,iBAAgB,OAAM,MAAK,QAAO,MAAK,OAAO,EAAE,OAAO,UAAU,GAAG;AAAA,EACxF;AAAA,EACA,IAAI,SAAS;AACX,WAAO,UAAU,IAAI,WAAW;AAAA,EAClC;AAAA;AAAA,EAEA,MAAM,gBAAgB;AACpB,YAAQ,IAAI,eAAe;AAC3B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,MAAM,QAAQ,KAAK;AAClD,YAAM,OAAO,KAAK,QAAQ,MAAM,CAAC;AACjC,YAAM,MAAM,MAAM,KAAK,gBAAgB,KAAK,IAAI;AAChD,UAAI,IAAI,YAAY,MAAM,IAAI,SAAS,GAAG;AACxC,aAAK,OAAO,KAAK,KAAK,IAAI;AAC1B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,qBAAN,MAA0C;AAAA,EAA1C;AACL,eAAM;AACN,oBAAW;AACX,0BAAiB;AAIjB,SAAQ,UAAU,IAAI,aAAoD,EAAE,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC;AAAA;AAAA,EAHvG,IAAI,QAAqC;AACvC,WAAO,OAAO,MAAM,MAAM;AAAA,EAC5B;AAAA,EAEA,IAAI,cAA8C;AAChD,QAAI,KAAK,UAAU;AACjB,aAAO,KAAK,QAAQ;AAAA,IACtB;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EACA,cAAc,MAAoC;AAChD,QAAI,QAA+C,KAAK,QAAQ,KAAK;AACrE,QAAI,CAAC,OAAO;AACV,cAAQ,CAAC,IAAI;AAAA,IACf,OAAO;AACL,cAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,IACzB;AACA,SAAK,QAAQ,SAAS,KAAK;AAAA,EAC7B;AAAA,EACA,wBAAwB,IAAmB,QAAwC;AACjF,QAAI,QAA+C,KAAK,QAAQ,KAAK;AACrE,QAAI,CAAC,OAAO;AACV;AAAA,IACF;AACA,YAAQ,MAAM,IAAI,CAAC,MAAM;AACvB,UAAI,EAAE,MAAM,IAAI;AACd,UAAE,SAAS;AACX,eAAO;AAAA,MACT;AACA,UAAI,CAAC,IAAI;AACP,UAAE,SAAS;AAAA,MACb;AACA,aAAO;AAAA,IACT,CAAC;AACD,SAAK,QAAQ,SAAS,KAAK;AAAA,EAC7B;AAAA,EACA,eAAe;AACb,SAAK,QAAQ,SAAS,IAAI;AAAA,EAC5B;AACF;;;ACtMO,IAAM,gBAAgB,MAAM;;;ACCnC,IAAM,UAAU,CAAC,QAAwB,IAAI,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAEzE,IAAM,aAAa,CAAC,QAAuB;AACzC,QAAM,MAAM,IAAI,YAAY,OAAO,MAAM,CAAC;AAC1C,SAAO,OAAO,gBAAgB,GAAG;AACjC,SAAO,MAAM,KAAK,KAAK,OAAO,EAAE,KAAK,EAAE;AACzC;AAEA,IAAM,oBAAoB,MAAa;AACrC,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,WAAW,EAAE;;AAGtB,UAAO,oBAAI,KAAI,GAAG,QAAO,EAAG,SAAS,EAAE;AACzC;;;ACVA,IAAM,mBAAN,MAAsB;;AACb,iBAAA,cAAc,CAA2C,QAAW,WAAmC;AAC5G,QAAM,KAAK,kBAAiB;AAE5B,SAAO;IACL;IACA;IACA;IACA,KAAK;MACH,YAAY,cAAa;;;AAG/B;AAEO,iBAAA,eAAe,CAAC,IAAe,MAAiC,aAAsC;EAC3G;EACA,SAAS;EACT;EACA;;AAGK,iBAAA,oBAAoB,CAAC,IAAe,OAAe,aAAoC;EAC5F;EACA,SAAS;EACT;EACA;;;;AC9BJ,IAAY;CAAZ,SAAYC,UAAO;AACjB,EAAAA,SAAA,kBAAA,IAAA;AACA,EAAAA,SAAA,SAAA,IAAA;AACA,EAAAA,SAAA,cAAA,IAAA;AACA,EAAAA,SAAA,aAAA,IAAA;AACA,EAAAA,SAAA,mBAAA,IAAA;AACA,EAAAA,SAAA,iBAAA,IAAA;AACA,EAAAA,SAAA,aAAA,IAAA;AACA,EAAAA,SAAA,kBAAA,IAAA;AACA,EAAAA,SAAA,oBAAA,IAAA;AACA,EAAAA,SAAA,sBAAA,IAAA;AACA,EAAAA,SAAA,oBAAA,IAAA;AACA,EAAAA,SAAA,uBAAA,IAAA;AACA,EAAAA,SAAA,2BAAA,IAAA;AACF,GAdY,YAAA,UAAO,CAAA,EAAA;AAgBnB,IAAY;CAAZ,SAAYC,oBAAiB;AAC3B,EAAAA,mBAAA,oBAAA,IAAA;AACF,GAFY,sBAAA,oBAAiB,CAAA,EAAA;;;ACT7B,IAAM,0BAAN,MAA6B;EAM3B,YAAY,iBAAkC,MAAM,YAAY,OAAK;AALpD,SAAA,iBAAkC;AAC3C,SAAA,YAAY,oBAAI,IAAG;AACnB,SAAA,YAAY;AACZ,SAAA,WAAW,OAAO,WAAW;AAW7B,SAAA,iBAAiB,CAAC,EAAE,QAAQ,MAAM,OAAM,MAAsC;AACpF,YAAM,mBAAmB,CAAC;AAC1B,YAAM,mBAAmB,CAAC,KAAK,YAAY,WAAW,OAAO;AAC7D,YAAM,qBAAqB,OAAO,KAAK,YAAY,eAAe,SAAS,KAAK,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;AACrG,YAAM,oBAAoB,OAAO,uBAAuB,YAAY,sBAAsB;AAC1F,UAAI,cAAc;AAClB,UAAI,MAAM,QAAQ,KAAK,cAAc,GAAG;AACtC,sBAAc,KAAK,eAAe,KAAK,CAAC,WAAW,OAAO,KAAK,MAAM,CAAC,MAAM;;AAG9E,aAAO,CAAC,oBAAoB,oBAAoB,qBAAqB;IACvE;AAEQ,SAAA,qBAAqB,CAAC,QAAoC;AAChE,cAAQ,KAAK,wDAAwD,IAAI,MAAM,MAAM,IAAI,IAAI;IAC/F;AAEQ,SAAA,kBAAkB,CAAC,QAAoC;AAC7D,UAAI,KAAK,eAAe,GAAG,GAAG;AAC5B,aAAK,aAAa,KAAK,mBAAmB,GAAG;AAC7C,aAAK,sBAAsB,IAAI,IAAI;;IAEvC;AAEQ,SAAA,wBAAwB,CAAC,YAAgD;AAC/E,YAAM,EAAE,GAAE,IAAK;AAEf,YAAM,KAAK,KAAK,UAAU,IAAI,EAAE;AAChC,UAAI,IAAI;AACN,WAAG,OAAO;AAEV,aAAK,UAAU,OAAO,EAAE;;IAE5B;AAEO,SAAA,OAAO,CAA0B,QAAW,WAA0C;AAC3F,YAAM,UAAU,iBAAiB,YAAY,QAAQ,MAAM;AAE3D,UAAI,KAAK,UAAU;AACjB,cAAM,IAAI,MAAM,sBAAsB;;AAGxC,aAAO,OAAO,YAAY,SAAS,GAAG;AACtC,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAU;AACrC,aAAK,UAAU,IAAI,QAAQ,IAAI,CAAC,aAAyB;AACvD,cAAI,CAAC,SAAS,SAAS;AACrB,mBAAO,IAAI,MAAM,SAAS,KAAK,CAAC;AAChC;;AAGF,kBAAQ,QAAQ;QAClB,CAAC;MACH,CAAC;IACH;AA7DE,SAAK,iBAAiB;AACtB,SAAK,YAAY;AAEjB,QAAI,CAAC,KAAK,UAAU;AAClB,aAAO,iBAAiB,WAAW,KAAK,eAAe;;EAE3D;;AA0DF,IAAA,wBAAe;;;ACuBR,IAAM,0BAA0B,CAAC,QAAyC;AAC/E,SAAO,OAAO,QAAQ,YAAY,OAAO,QAAQ,YAAY,OAAO,WAAW,OAAO,aAAa;AACrG;;;ACrGA,yCAkCO;;;ACtBP,IAAM,MAAN,MAAS;EAGP,YAAY,cAA0B;AACpC,SAAK,eAAe;EACtB;EAEA,MAAM,gBAAgB,YAAkB;AACtC,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,oBAAoB;;AAGtC,UAAM,WAAW,MAAM,KAAK,aAAa,KAIvC,QAAQ,mBAAmB,EAAE,WAAU,CAAE;AAE3C,WAAO,SAAS;EAClB;EAEA,MAAM,YAAY,SAAe;AAC/B,UAAM,iBAAiB;MACrB;;AAGF,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,aACR,cAAc;AAGhB,WAAO,SAAS;EAClB;EAEA,MAAM,iBAAiB,WAA0B;AAC/C,QAAI,CAAC,wBAAwB,SAAS,GAAG;AACvC,YAAM,IAAI,MAAM,oBAAoB;;AAGtC,UAAM,WAAW,MAAM,KAAK,aAAa,KAIvC,QAAQ,kBAAkB,EAAE,UAAS,CAAE;AAEzC,WAAO,SAAS;EAClB;EAEA,MAAM,KAAK,EAAE,KAAK,OAAM,GAA0B;AAChD,QAAI,CAAC,OAAO,CAAC,IAAI,QAAQ;AACvB,YAAM,IAAI,MAAM,6BAA6B;;AAG/C,UAAM,iBAAiB;MACrB;MACA;;AAGF,UAAM,WAAW,MAAM,KAAK,aAAa,KAIvC,QAAQ,kBAAkB,cAAc;AAE1C,WAAO,SAAS;EAClB;;;;AC/EK,IAAM,YAAY;EACvB,UAAU;EACV,cAAc;EACd,aAAa;EACb,gBAAgB;EAChB,aAAa;EACb,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,0BAA0B;EAC1B,2BAA2B;EAC3B,yBAAyB;EACzB,iBAAiB;EACjB,kBAAkB;;;;ACOpB,IAAM,kBAA6C;EACjD,mBAAmB,CAAC,MAAM,aAAa;EACvC,yBAAyB,CAAC,MAAM,UAAmB;EACnD,kBAAkB,CAAC,QACjB,OAAO,UAAU,GAAG,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC,KAAM;;AAQvD,IAAM,MAAN,MAAS;EAiBP,YAAY,cAA0B;AACpC,SAAK,eAAe;AACpB,SAAK,OAAO,KAAK,aAAmD;MAClE,MAAM,UAAU;MAChB,YAAY,CAAC,MAAM,gBAAgB,iBAAiB;KACrD;AACD,SAAK,aAAa,KAAK,aAAwC;MAC7D,MAAM,UAAU;MAChB,YAAY,CAAC,MAAM,gBAAgB,iBAAiB;KACrD;AACD,SAAK,UAAU,KAAK,aAAwC;MAC1D,MAAM,UAAU;MAChB,YAAY,CAAC,MAAM,gBAAgB,iBAAiB;KACrD;AACD,SAAK,eAAe,KAAK,aAAgD;MACvE,MAAM,UAAU;MAChB,YAAY,CAAC,MAAM,gBAAgB,kBAAkB,gBAAgB,iBAAiB;KACvF;AACD,SAAK,cAAc,KAAK,aAAuC;MAC7D,MAAM,UAAU;KACjB;AACD,SAAK,iBAAiB,KAAK,aAAkF;MAC3G,MAAM,UAAU;MAChB,YAAY,CAAC,MAAM,gBAAgB,uBAAuB;KAC3D;AACD,SAAK,mBAAmB,KAAK,aAG3B;MACA,MAAM,UAAU;MAChB,YAAY,CAAC,gBAAgB,kBAAkB,gBAAgB,uBAAuB;KACvF;AACD,SAAK,uBAAuB,KAAK,aAA8C;MAC7E,MAAM,UAAU;KACjB;AACD,SAAK,wBAAwB,KAAK,aAAqD;MACrF,MAAM,UAAU;KACjB;AACD,SAAK,sBAAsB,KAAK,aAAwC;MACtE,MAAM,UAAU;MAChB,YAAY,CAAC,MAAM,gBAAgB,iBAAiB;KACrD;AACD,SAAK,cAAc,KAAK,aAA8B;MACpD,MAAM,UAAU;KACjB;AACD,SAAK,iBAAiB,CAAC,gBACrB,KAAK,aAA0C;MAC7C,MAAM,UAAU;KACjB,EAAE,CAAC,WAAW,CAAC;AAClB,SAAK,kBAAkB,KAAK,aAA2C;MACrE,MAAM,UAAU;KACjB;EACH;EAEQ,aAAuC,MAAsB;AACnE,UAAM,EAAE,MAAM,WAAU,IAAK;AAE7B,WAAO,OAAO,WAA0B;AACtC,UAAI,cAAc,MAAM,QAAQ,MAAM,GAAG;AACvC,mBAAW,QAAQ,CAAC,WAAqD,MAAK;AAC5E,cAAI,WAAW;AACb,mBAAO,CAAC,IAAI,UAAU,OAAO,CAAC,CAAC;;QAEnC,CAAC;;AAGH,YAAM,UAAyB;QAC7B;QACA,QAAQ,UAAU,CAAA;;AAGpB,YAAM,WAAW,MAAM,KAAK,aAAa,KAAwC,QAAQ,SAAS,OAAO;AAEzG,aAAO,SAAS;IAClB;EACF;;;;AC5HF,SAAS,oBAA6B,aAAa,qBAAqB;;;ACAxE,IAAM,cAAc;AACpB,IAAM,oBAAoB;;;ACgBnB,IAAM,+BAA+B;AAEtC,IAAO,mBAAP,MAAO,0BAAyB,MAAK;EAIzC,YAAY,SAAiB,MAAc,MAAc;AACvD,UAAM,OAAO;AAEb,SAAK,OAAO;AACZ,SAAK,OAAO;AAIZ,WAAO,eAAe,MAAM,kBAAiB,SAAS;EACxD;;;;AC5BF,IAAM,SAAN,MAAY;EAGV,YAAY,cAA0B;AACpC,SAAK,eAAe;EACtB;EAEA,MAAM,iBAAc;AAClB,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,uBACR,MAAS;AAGX,WAAO,SAAS;EAClB;EAEA,MAAM,mBAAmB,aAAgC;AACvD,QAAI,CAAC,KAAK,yBAAyB,WAAW,GAAG;AAC/C,YAAM,IAAI,iBAAiB,kCAAkC,4BAA4B;;AAG3F,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,aAAa,KAIvC,QAAQ,2BAA2B,WAAW;AAEhD,aAAO,SAAS;aACV;AACN,YAAM,IAAI,iBAAiB,wBAAwB,4BAA4B;;EAEnF;EAEA,yBAAyB,aAAgC;AACvD,WAAO,YAAY,MAAM,CAAC,OAAyB;AACjD,UAAI,OAAO,OAAO,UAAU;AAC1B,eAAO,OAAO,KAAK,EAAE,EAAE,MAAM,CAAC,WAAU;AACtC,cAAI,OAAO,OAAO,iBAAiB,EAAE,SAAS,MAA2B,GAAG;AAC1E,mBAAO;;AAGT,iBAAO;QACT,CAAC;;AAGH,aAAO;IACT,CAAC;EACH;;;;AC9CF,IAAM,gBAAgB,CAAC,UAAmB,gBACxC,YAAY,KAAK,CAAC,eAAe,WAAW,qBAAqB,QAAQ;AAE3E,IAAM,oBAAoB,MAAM,CAAC,GAAY,aAAqB,eAAkC;AAClG,QAAM,iBAAiB,WAAW;AAElC,aAAW,QAAQ,iBAAK;AAEtB,UAAM,SAAS,IAAI,OAAQ,KAAc,YAAY;AAErD,QAAI,qBAAqB,MAAM,OAAO,eAAc;AAEpD,QAAI,CAAC,cAAc,aAAwB,kBAAkB,GAAG;AAC9D,2BAAqB,MAAM,OAAO,mBAAmB,CAAC,EAAE,CAAC,WAAsB,GAAG,CAAA,EAAE,CAAE,CAAC;;AAGzF,QAAI,CAAC,cAAc,aAAwB,kBAAkB,GAAG;AAC9D,YAAM,IAAI,iBAAiB,wBAAwB,4BAA4B;;AAGjF,WAAO,eAAe,MAAM,IAAI;EAClC;AAEA,SAAO;AACT;AAEA,IAAA,6BAAe;;;;;;;;;;;;;AJbf,IAAM,OAAN,MAAU;EAGR,YAAY,cAA0B;AACpC,SAAK,eAAe;EACtB;EAEA,MAAM,eAAY;AAChB,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,cACR,MAAS;AAGX,WAAO,SAAS;EAClB;EAEA,MAAM,UAAO;AACX,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,aACR,MAAS;AAGX,WAAO,SAAS;EAClB;;EAGA,MAAM,yBAAyB,EAAE,WAAW,MAAK,IAAuB,CAAA,GAAE;AACxE,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,iBACR;MACE;KACD;AAGH,WAAO,SAAS;EAClB;EAEQ,MAAM,mBAAmB,aAAqB,YAAY,MAAI;AACpE,UAAM,WAAW,MAAM,KAAK,QAAO;AAEnC,UAAM,8BAA8B,mBAAmB;MACrD,KAAK;QACH;UACE,UAAU;UACV,QAAQ;YACN;cACE,MAAM;cACN,MAAM;;YAER;cACE,MAAM;cACN,MAAM;;;UAGV,MAAM;UACN,SAAS;YACP;cACE,MAAM;cACN,MAAM;;;UAGV,SAAS;UACT,iBAAiB;UACjB,MAAM;;;MAGV,cAAc;MACd,MAAM,CAAC,aAAwB,SAAoB;KACpD;AAED,UAAM,UAAU;MACd,MAAM,UAAU;MAChB,QAAQ;QACN;UACE,IAAI,SAAS;UACb,MAAM;;QAER;;;AAGJ,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,SACR,OAAO;AAGT,aAAO,SAAS,KAAK,MAAM,GAAG,EAAE,EAAE,YAAW,MAAO;aAC7C,KAAK;AACZ,aAAO;;EAEX;EAEQ,MAAM,wBAAwB,aAAqB,YAAY,MAAI;AACzE,UAAM,WAAW,MAAM,KAAK,QAAO;AAEnC,UAAM,8BAA8B,mBAAmB;MACrD,KAAK;QACH;UACE,UAAU;UACV,QAAQ;YACN;cACE,MAAM;cACN,MAAM;;YAER;cACE,MAAM;cACN,MAAM;;;UAGV,MAAM;UACN,SAAS;YACP;cACE,MAAM;cACN,MAAM;;;UAGV,SAAS;UACT,iBAAiB;UACjB,MAAM;;;MAGV,cAAc;MACd,MAAM,CAAC,aAAwB,SAAoB;KACpD;AAED,UAAM,UAAU;MACd,MAAM,UAAU;MAChB,QAAQ;QACN;UACE,IAAI,SAAS;UACb,MAAM;;QAER;;;AAIJ,QAAI;AACF,YAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,SACR,OAAO;AAGT,aAAO,SAAS,KAAK,MAAM,GAAG,EAAE,EAAE,YAAW,MAAO;aAC7C,KAAK;AACZ,aAAO;;EAEX;EAEA,qBAAqB,SAAe;AAClC,WAAO,YAAY,OAAO;EAC5B;EAEA,0BAA0B,cAA6B;AACrD,UAAM,UACJ,OAAO,aAAa,OAAO,YAAY,WACnC,aAAa,OAAO,QAAQ,SAAQ,IACpC,OAAO,aAAa,OAAO,OAAO;AAExC,QAAI,cAAc,aAAa;AAC/B,QAAI,CAAC,aAAa;AAChB,YAAM,SAAS,OAAO,OAAO,aAAa,KAAK;AAE/C,YAAM,eAAe,OAAO,KAAK,aAAa,KAAK,EAAE,OAAO,CAAC,aAC3D,OAAO,MAAM,CAAC,cAAc,UAAU,MAAM,CAAC,EAAE,KAAI,MAAO,KAAK,QAAQ,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE,MAAM,QAAQ,CAAC,CAAC;AAEjH,UAAI,aAAa,WAAW,KAAK,aAAa,SAAS;AAAG,cAAM,IAAI,MAAM,4BAA4B;AACtG,oBAAc,aAAa,CAAC;;AAG9B,WAAO,cAAc;MACnB,SAAS,aAAa;MACtB,QAAQ,iCACH,aAAa,SADV;QAEN;QACA,mBAAmB,aAAa,OAAO;QACvC,MAAM,aAAa,OAAO;;MAE5B,OAAO,aAAa;MACpB;KACD;EACH;EAEA,MAAM,qBAAqB,aAAmB;AAC5C,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,sBACR,WAAW;AAGb,WAAO,SAAS;EAClB;EAEA,MAAM,gBAAgB,SAAmC,YAAY,MAAI;AACvE,QAAI;AACJ,QAAI,OAAO,YAAY,UAAU;AAC/B,cAAQ,YAA6B;AACnC,cAAM,cAAc,KAAK,qBAAqB,OAAO;AACrD,cAAM,oBAAoB,MAAM,KAAK,oBAAoB,aAAa,SAAS;AAC/E,eAAO;MACT;;AAGF,QAAI,wBAAwB,OAAO,GAAG;AACpC,cAAQ,YAA6B;AACnC,cAAM,cAAc,KAAK,0BAA0B,OAAO;AAC1D,cAAM,oBAAoB,MAAM,KAAK,oBAAoB,aAAa,SAAS;AAC/E,eAAO;MACT;;AAEF,QAAI,OAAO;AACT,YAAM,UAAU,MAAM,MAAK;AAE3B,aAAO;;AAGT,UAAM,IAAI,MAAM,sBAAsB;EACxC;EAEA,MAAM,oBAAoB,aAAqB,YAAY,MAAI;AAC7D,UAAM,SAAS,CAAC,KAAK,mBAAmB,KAAK,IAAI,GAAG,KAAK,wBAAwB,KAAK,IAAI,CAAC;AAE3F,eAAW,SAAS,QAAQ;AAC1B,YAAM,UAAU,MAAM,MAAM,aAAa,SAAS;AAClD,UAAI,SAAS;AACX,eAAO;;;AAIX,WAAO;EACT;EAEA,MAAM,qBAAkB;AACtB,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,oBACR,MAAS;AAGX,WAAO,SAAS;EAClB;EAGA,MAAM,qBAAkB;AACtB,UAAM,WAAW,MAAM,KAAK,aAAa,KACvC,QAAQ,oBACR,MAAS;AAGX,WAAO,SAAS;EAClB;;AAPM,WAAA;EADL,2BAAiB;;;;AKtPpB,IAAM,cAAN,MAAiB;EAOf,YAAY,OAAa,CAAA,GAAE;AACzB,UAAM,EAAE,iBAAiB,MAAM,QAAQ,MAAK,IAAK;AAEjD,SAAK,eAAe,IAAI,sBAAsB,gBAAgB,KAAK;AACnE,SAAK,MAAM,IAAI,IAAI,KAAK,YAAY;AACpC,SAAK,MAAM,IAAI,IAAI,KAAK,YAAY;AACpC,SAAK,OAAO,IAAI,KAAK,KAAK,YAAY;AACtC,SAAK,SAAS,IAAI,OAAO,KAAK,YAAY;EAC5C;;AAGF,IAAA,cAAe;;;AC5Bf,IAAA,cAAe;;;ACFf,SAAS,QAAAC,aAAY;AACrB,SAAS,gBAAgB;AACzB,OAAON,YAAW;AAQlB,IAAM,kBAAkB,SAAS,CAAC,UAAkB;AAClD,SAAO,gBAAAA,OAAA,cAAC,SAAI,WAAU,0BACpB,gBAAAA,OAAA,cAAC,SAAI,WAAU,6CACb,gBAAAA,OAAA,cAACM,OAAA,EAAK,MAAK,6BAA4B,OAAM,MAAK,QAAO,MAAK,WAAU,kBAAiB,CAAE,GAC7F,gBAAAN,OAAA,cAAC,SAAI,WAAU,0CAAwC,MAAM,GAAI,GACjE,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MAAI,WAAU;AAAA,MACb,SAAS,OAAK,OAAO,KAAK,2BAA2B,MAAM,IAAI,IAAI,QAAQ;AAAA;AAAA,IAAG;AAAA,IAAkB,gBAAAA,OAAA,cAACM,OAAA,EAAK,MAAK,4CAA2C,OAAM,MAAK,QAAO,MAAK;AAAA,EAAE,CACnL;AACF,CAAC;AACM,IAAM,sBAAsB,CAAC,EAAE,KAAK,KAAK,MAAM;AACpD,YAAU,IAAI,WAAW,EAAE,QAAQ;AAAA,IACjC,OAAO;AAAA,IACP,SAAS,gBAAAN,OAAA,cAAC,mBAAgB,KAAU,MAAY;AAAA,IAChD,QAAQ;AAAA,EACV,CAAC;AACH;;;ACzBA,SAAyC,wBAA6C;AACtF,SAAS,qBAAqB,gBAAgB,aAAa,WAAW,qBAAqB;AAIpF,IAAM,oBAAN,MAAyC;AAAA,EAe9C,YAAY,MAAkC;AAd9C,eAAM;AACN,0BAAiB;AAEjB,mBAAU;AACV,qBAAY;AAGZ,0BAAiB;AACjB,wBAAe;AACf,4BAAmB;AACnB,qBAAY;AAEZ;AAAA,0BAAiB;AAGf,WAAO,OAAO,MAAM,IAAI;AAAA,EAC1B;AAAA,EAEA,IAAI,QAAoC;AACtC,WAAO,OAAO,MAAM,MAAM;AAC1B,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,IAAI,mBAAmB;AACrB,QAAI,CAAC,KAAK;AACR,aAAO;AAET,QAAI,CAAC,KAAK,aAAa,KAAK,oBAAoB,GAAG;AACjD,aAAO;AAAA,IACT;AACA,QAAI,CAAC,KAAK,aAAa,KAAK,oBAAoB,GAAG;AACjD,aAAO;AAAA,IACT;AACA,QAAI,KAAK,WAAW;AAClB,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,IAAI,mBAAmB;AA5CzB;AA6CI,WAAO,WAAW,IAAI,qBAAoB,UAAK,oBAAL,mBAAsB,IAAI,OAAK,EAAE,IAAI,KAAK,IAAI,IAAI,MAAM;AAChG,aAAO,iBAAiB;AAAA,QACtB,SAAS,KAAK;AAAA,QACd,WAAW,KAAK;AAAA;AAAA,QAEhB,QAAQ,KAAK;AAAA,QACb,SAAS;AAAA,UAAC;AAAA,YACR,WAAW;AAAA,YACX,SAAS,CAAC,aAAa,cAAc;AAAA,UACvC;AAAA,UACA;AAAA,YACE,WAAW;AAAA,YACX,SAAS,CAAC,gBAAgB,qBAAqB,aAAa,WAAW,aAAa;AAAA,UACtF;AAAA,QAAC;AAAA,MACH,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;;;ApBzCO,IAAM,cAAN,MAAM,aAA6B;AAAA,EAiDxC,YAAY,MAA6B;AAhDzC,eAAM;AACN,0BAAiB;AACjB,mBAAyB;AACzB,+BAAsB;AACtB,uBAAc;AACd,qBAAY;AAEZ,iBAAQ,IAAI,aAAa;AAEzB,wBAAe;AACf,uBAA2B;AA0B3B,mBAAU,YAAY,KAAK;AAAA,MACzB,MAAM,YAAY;AA3DtB;AA4DM,YAAI,CAAC,KAAK,gBAAgB,CAAC,KAAK;AAAS,iBAAO,OAAO,OAAO,cAAc,GAAG;AAC/E,cAAM,UAAU,MAAM,KAAK,aAAa,WAAW;AAAA,UACjD,SAAS,KAAK;AAAA,QAChB,CAAC;AACD,YAAI,SAAS;AACX,iBAAO,OAAO,OAAO,eAAc,wCAAS,eAAT,YAAuB,GAAG;AAAA,QAC/D;AAAA,MACF;AAAA,IACF,CAAC;AAGC,WAAO,OAAO,MAAM,IAAI;AAAA,EAC1B;AAAA,EAvCA,IAAI,eAAwB;AAC1B,QAAI,KAAK,SAAS,KAAK,MAAM,MAAM,MAAM;AACvC,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,eAAe,MAAmB;AAChC,SAAK,cAAc;AACnB,iBAAa,QAAQ,eAAe,IAAI;AAAA,EAC1C;AAAA,EACA,IAAI,gBAAgB;AAClB,WAAO,KAAK,UAAU,OAAO,QAAQ,eAAe,KAAK,aAAa,KAAK,OAAO,IAAI;AAAA,EACxF;AAAA,EACA,IAAI,+BAA+B;AACjC,WAAO,KAAK,UAAU,OAAO,OAAO,SAAS,OAAO,QAAQ,eAAe,KAAK,aAAa,KAAK,OAAO,GAAG,IAAI,KAAK,IAAI;AAAA,EAC3H;AAAA,EACA,IAAI,wBAAwB;AAC1B,WAAO,KAAK,UAAU,OAAO,OAAO,SAAS,OAAO,QAAQ,eAAe,KAAK,aAAa,KAAK,OAAO,GAAG,IAAI,KAAK,IAAI;AAAA,EAC3H;AAAA,EACA,IAAI,kBAAkB;AACpB,WAAO,UAAU,IAAI,iBAAiB,EAAE;AAAA,EAC1C;AAAA,EAoBA,IAAI,QAAc;AAChB,UAAM,EAAE,MAAM,cAAc,UAAU,IAAI,gBAAgB;AAC1D,UAAM,EAAE,OAAO,SAAS,YAAY,IAAI,WAAW;AAEnD,UAAM,EAAE,YAAY,IAAI,eAAe;AACvC,UAAM,EAAE,iBAAiB,IAAIG,iBAAgB;AAC7C,UAAM,EAAE,QAAQ,IAAI,WAAW;AAC/B,UAAM,EAAE,WAAW,IAAI,cAAc;AACrC,UAAM,oBAAoB,UAAU,IAAI,iBAAiB;AACzD,SAAK,IAAI;AAAA;AAAA,MAEP;AAAA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,cAAU,MAAM;AACd,gBAAU,IAAI,kBAAkB,EAAE,IAAI,EAAE,UAAU,KAAK,CAAC;AACxD,WAAK,IAAI;AAAA,QACP,WAAW;AAAA,QACX,SAAS;AAAA;AAAA,QAET;AAAA,MACF,CAAC;AACD,wBAAkB,IAAI;AAAA,QACpB,WAAW;AAAA,MACb,CAAC;AACD,UAAI,KAAK,SAAS;AAChB,aAAK;AACL,0BAAkB,IAAI;AAAA,UACpB,kBAAkB,KAAK;AAAA,QACzB,CAAC;AACD,aAAK,MAAM,KAAK,qBAAqB;AAAA,MACvC;AAAA,IACF,GAAG,CAAC,SAAS,aAAa,KAAK,CAAC;AAIhC,cAAU,MAAM;AACd,iBAAW,MAAM;AACf,aAAK,QAAQ,KAAK;AAAA,MACpB,GAAG,IAAI;AAAA,IACT,GAAG,CAAC,KAAK,YAAY,CAAC;AAAA,EACxB;AAAA;AAAA,EAGA,IAAI,eAA6D;AAC/D,QAAI,KAAK,SAAS,KAAK,gBAAgB,KAAK,OAAK,EAAE,OAAO,KAAK,MAAM,EAAE,GAAG;AACxE,UAAI,KAAK,MAAM,MAAM,MAAM;AACzB,eAAO,KAAK,UAAU,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,cAAc,EAAE,OAAO,KAAK,EAAE,EAAE,GAAG,WAAW,KAAK,CAAC;AAAA,MACjI;AACA,aAAO,KAAK,UAAU,KAAK,MAAM,GAAG,SAAS,CAAC;AAAA,IAChD,OAAO;AACL,aAAO,KAAK,UAAU,MAAM;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,IAAI,MAA4B;AAC9B,WAAO,OAAO,MAAM,IAAI;AAAA,EAC1B;AAAA,EAEA,SAAS;AACP,UAAM,EAAE,QAAQ,IAAI;AACpB,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA,EAEA,MAAM,QAAQ,SAAwC;AACpD,WAAO,IAAI,QAAqB,OAAO,KAAK,QAAQ;AAhJxD;AAiJM,UAAI;AACF,YAAI,KAAK,SAAS;AAChB,cAAI,CAAC,SAAS;AACZ,gBAAI,IAAI;AAAA,UACV;AACA,cAAI,QAAO,UAAK,UAAL,mBAAY,EAAE,KAAK,OAAO,OAAO,GAAG;AAC7C,oBAAQ,IAAI,iBAAiB;AAC7B,gBAAI,IAAI;AAAA,UACV;AACA,qBAAK,gBAAL,8BAAmB,EAAE,SAAS,4BAAW,KAAK;AAC9C,gBAAM,WAAW,YAAY,MAAM;AA3J7C,gBAAAI;AA4JY,gBAAI,KAAK,aAAa;AACpB,oBAAIA,MAAA,KAAK,UAAL,gBAAAA,IAAY,OAAM,SAAS;AAC7B,oBAAI;AAIF,sBAAI,IAAI;AAAA,gBACV,SAAS,OAAO;AAAA,gBAChB;AACA,8BAAc,QAAQ;AAAA,cACxB;AAAA,YACF;AAAA,UACF,GAAG,GAAI;AAAA,QACT,OAAO;AACL,eAAK,iBAAiB;AAEtB,gBAAM,WAAW,YAAY,MAAM;AACjC,gBAAI,KAAK,SAAS;AAChB,4BAAc,QAAQ;AACtB,kBAAI,IAAI;AAAA,YACV;AAAA,UACF,GAAG,GAAI;AAAA,QACT;AAAA,MACF,SAAS,OAAO;AACd,YAAI,KAAK;AAAA,MACX;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAGA,MAAM,0BAA0B,EAAE,KAAK,GAAG;AAExC,QAAI,KAAK,aAAa;AAEpB,YAAM,MAAM,IAAI,YAAY;AAC5B,aAAO,MAAM;AACX,cAAM,SAAS,MAAM,IAAI,IAAI,gBAAgB,IAAI;AACjD,YAAI,OAAO,aAAa,qDAAkB,0BAA0B,OAAO,aAAa,qDAAkB,sBAAsB,OAAO,aAAa,qDAAkB,WAAW;AAC/K,gBAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAI,CAAC;AAAA,QAC1D,OAAO;AACL,iBAAO,KAAK,aAAa,0BAA0B,EAAE,MAAM,OAAO,OAAyB,CAAC;AAAA,QAC9F;AAAA,MACF;AAAA,IACF,OAAO;AACL,aAAO,KAAK,aAAa,0BAA0B,EAAE,KAAK,CAAC;AAAA,IAC7D;AAAA,EACF;AAAA,EAEA,aAAa,UAAU,MAAyC;AAC9D,WAAO,UAAU,IAAI,YAAW,EAAE,OAAO,GAAG,IAAI;AAAA,EAClD;AAAA,EACA,aAAa,aAAa,MAA4C;AACpE,WAAO,UAAU,IAAI,YAAW,EAAE,UAAU,GAAG,IAAI;AAAA,EACrD;AAAA,EACA,MAAM,OAAO;AAAA,IACX;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,EACtB,GASG;AApOL;AAqOI,UAAM,QAAQ,UAAU,IAAI,WAAW;AACvC,QAAI;AACJ,UAAM,eAAe,UAAU,IAAI,kBAAkB;AACrD,QAAI;AACF,UAAI;AAAa,cAAM,QAAQ,WAAW;AAC1C,UAAI,CAAC;AAAS,cAAM,IAAI,MAAM,oCAAoC;AAClE,YAAM,UAAU,IAAI,YAAW,EAAE,QAAQ,OAAO,OAAO,CAAC;AACxD,aAAO,MAAM,GAAG;AAChB,UAAI,aAAa;AACf,qBAAa,cAAc,iCAAK,cAAL,EAAkB,IAAI,MAAM,WAAW,KAAK,IAAI,GAAG,QAAQ,WAAW,SAAS,OAAO,OAAO,EAAE,EAAC;AAAA,MAC7H;AACA,YAAM,UAAU,MAAM,KAAK,0BAA0B,EAAE,KAAK,CAAC;AAC7D,UAAI,QAAQ,UAAU,WAAW;AAC/B,cAAM,QAAQ;AACd,cAAM,QAAQ,gCAAgC;AAC9C,YAAI,aAAa;AACf,cAAI,mBAAmB;AACrB,gCAAoB,EAAE,KAAK,YAAY,KAAK,KAAW,CAAC;AAAA,UAC1D;AACA,uBAAa,wBAAwB,MAAM,SAAS;AAAA,QACtD;AAAA,MACF,OAAO;AACL,cAAM,QAAQ;AACd,cAAM,MAAM,wBAAwB;AACpC,qBAAa,wBAAwB,MAAM,MAAM;AAAA,MACnD;AACA,UAAI;AAAa,cAAM,QAAQ,WAAW;AAC1C,WAAK;AACL,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,IAAI,KAAK;AACjB,YAAM,QAAQ;AACd,UAAI,WAAW;AACb,cAAM,MAAM,4BAA4B,KAAK,+BAAO,OAAO;AAC3D,gBAAQ,IAAI,UAAU,+BAAO,OAAO;AACpC,cAAI,oCAAO,YAAP,mBAAgB,SAAS,iCAAgC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,eAAe,KAAK,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,aAAa,GAAG;AACzK,gBAAM,MAAM,2BAA2B;AACvC,6CAAU;AACV;AAAA,QACF;AACA,cAAI,oCAAO,YAAP,mBAAgB,SAAS,6DAA0D,oCAAO,YAAP,mBAAgB,SAAS,wBAAuB;AACrI,cAAI,aAAa;AACf,yBAAa,wBAAwB,MAAM,SAAS;AAAA,UACtD;AACA,gBAAM,QAAQ,gCAAgC;AAC9C;AAAA,QACF;AAEA,YAAI,KAAK;AACP,gBAAM,MAAM,GAAwB;AACpC,6CAAU;AAAA,QACZ,OAAO;AACL,cAAI,+BAAO,QAAQ,SAAS,SAAS;AACnC,kBAAM,aAAa,+BAAO,QAAQ,MAAM;AACxC,oBAAQ,IAAI,iBAAiB,UAAU;AACvC,gBAAI,WAAW,SAAS,GAAG;AACzB,oBAAM,MAAM,WAAW,CAAC,CAAC;AACzB,iDAAU,WAAW,CAAC;AAAA,YACxB;AAAA,UACF,OAAO;AACL,kBAAM,MAAM,QAAO,+BAAO,YAAW,KAAK,CAAC;AAC3C,+CAAU,QAAO,+BAAO,YAAW,KAAK;AAAA,UAC1C;AAAA,QACF;AAAA,MACF,OAAO;AACL,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,UAAU;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB;AAAA,EACtB,GAc4C;AApU9C;AAqUI,cAAU,OAAO,OAAO;AACxB,UAAM,QAAQ,UAAU,IAAI,WAAW;AACvC,QAAI;AACF,UAAI,CAAC,WAAW,CAAC;AAAS,cAAM,IAAI,MAAM,+BAA+B;AACzE,YAAM,UAAU,IAAI,YAAW,EAAE,QAAQ,OAAO;AAChD,UAAI;AAAa,cAAM,QAAQ,WAAW;AAC1C,YAAM,eAAe,UAAU,IAAI,kBAAkB;AAErD,YAAM,OAAO,MAAM,KAAK,aAAa,gBAAgB;AAAA,QACnD,SAAS,KAAK;AAAA,QACd,IAAI;AAAA,QACJ;AAAA,QACA,OAAO,QAAQ,OAAO,KAAK,IAAI;AAAA,MACjC,CAAC;AAED,UAAI,UAAU,MAAM,KAAK,0BAA0B,EAAE,KAAK,CAAC;AAC3D,cAAQ,IAAI,OAAO;AACnB,UAAI,aAAa;AACf,qBAAa,cAAc,iCAAK,cAAL,EAAkB,IAAI,QAAQ,iBAAiB,WAAW,KAAK,IAAI,GAAG,QAAQ,WAAW,SAAS,OAAO,OAAO,EAAE,EAAC;AAAA,MAChJ;AACA,iBAAW,SAAS,EAAE,KAAK,QAAQ,CAAC,IAAI;AACxC,UAAI,QAAQ,UAAU,WAAW;AAC/B,YAAI,aAAa;AACf,cAAI,mBAAmB;AACrB,gCAAoB,EAAE,KAAK,YAAY,KAAK,KAAW,CAAC;AAAA,UAC1D;AACA,uBAAa,wBAAwB,QAAQ,iBAAiB,SAAS;AAAA,QACzE;AACA,qBAAa,UAAU,EAAE,KAAK,QAAQ,CAAC;AACvC,cAAM,QAAQ;AACd,cAAM,QAAQ,gCAAgC;AAAA,MAChD,OAAO;AACL,YAAI,aAAa;AACf,uBAAa,wBAAwB,QAAQ,iBAAiB,MAAM;AAAA,QACtE;AACA,mBAAW,QAAQ,EAAE,KAAK,QAAQ,CAAC;AACnC,cAAM,QAAQ;AACd,cAAM,MAAM,wBAAwB;AAAA,MACtC;AACA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,YAAM,QAAQ;AACd,cAAQ,IAAI,MAAM,OAAO;AACzB,YAAM,MAAM,4BAA4B,KAAK,+BAAO,OAAO;AAE3D,YAAI,oCAAO,YAAP,mBAAgB,SAAS,mCAAgC,oCAAO,YAAP,mBAAgB,SAAS,cAAa,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,eAAe,KAAK,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,aAAa,GAAG;AAC/M,qBAAa,MAAM,MAAM,2BAA2B;AACpD;AAAA,MACF;AACA,WAAI,oCAAO,YAAP,mBAAgB,SAAS,yBAAyB;AACpD,qBAAa,MAAM,MAAM,sGAAsG;AAC/H;AAAA,MACF;AACA,UAAI,+BAAO,QAAQ,SAAS,SAAS;AACnC,cAAM,aAAa,+BAAO,QAAQ,MAAM;AACxC,gBAAQ,IAAI,iBAAiB,UAAU;AACvC,YAAI,WAAW,SAAS,GAAG;AACzB,gBAAM,MAAM,WAAW,CAAC,CAAC;AACzB,6CAAU,WAAW,CAAC;AACtB;AAAA,QACF;AAAA,MACF;AAEA,UAAI,KAAK;AACP,qBAAa,MAAM,MAAM,GAAwB;AAAA,MACnD,OAAO;AACL,qBAAa,MAAM,MAAM,OAAO,MAAM,OAAO,CAAC;AAAA,MAChD;AACA,UAAI,CAAC,WAAW;AACd,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;;;ADvYA,SAAS,gBAAgB;;;AsBPzB,SAAS,SAAS,QAAQ,gBAAgB,qBAAiC;AAwBpE,IAAM,QAAQ;AAAA,EACnB,SAAS;AAAA,GACN;AAEE,IAAM,eAAe;AAAA,EAC1B,SAAS;AAAA,GACN;;;AtBlBL,IAAM,cAAc,IAAI,YAAY;AAC7B,IAAM,iBAAkB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB;AACF,MAOM;AAEJ,QAAM,eAAe,UAAU,IAAI,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,4CAAmB,CAAC,KAAK,EAAE,EAAE,CAAC;AAE/G,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,aAAa,gBAAgB;AAElE;AAAA,IACE,MAAM,aAAa;AAAA,IACnB,MAAM;AACJ,gBAAU,aAAa,gBAAgB;AAAA,IACzC;AAAA,EACF;AAEA,EAAAN,WAAU,MAAM;AACd,QAAI,SAAS;AACX,mBAAa,UAAU;AAAA,IACzB;AACA,QAAI,kBAAkB,QAAW;AAC/B,mBAAa,iBAAiB;AAAA,IAChC;AAAA,EACF,GAAG,CAAC,SAAS,cAAc,CAAC;AAC5B;AAAA;AAAA,IAEE,gBAAAD,OAAA,cAAC,iBAAc,QAAgB,kBAAkB,iBAAiB,QAAQ,QACxE,gBAAAA,OAAA,cAAC,uBAAoB,QAAQ,eAC3B,gBAAAA,OAAA,cAAC,sBAAmB,QAAO,MAAK,OAAO,SAAS,SAAS,UAAU,IAAI,WAAW,KAE/E,UACD,gBAAAA,OAAA,cAAC,iBAAc,gBAAgC,QAAgB,CACjE,CACF,CACF;AAAA;AAEJ;AAEO,IAAM,gBAAgB,CAAC,EAAE,iBAAiB,MAAM,OAAO,MAAM;AAClE,QAAM,EAAE,UAAU,IAAIE,cAAa;AACnC,QAAM,SAAS,UAAU,IAAI,WAAW;AACxC,SAAO,IAAI;AAEX,MAAI,UAAU,gBAAgB;AAC5B,IAAAD,WAAU,MAAM;AACd,UAAI,CAAC,OAAO,SAAS;AACnB,kBAAU;AAAA,MACZ;AAAA,IACF,GAAG,CAAC,MAAM,CAAC;AAAA,EACb;AAEA,SAAO,gBAAAD,OAAA,cAAAA,OAAA,cAAE;AACX;;;AuB5EA,SAAS,QAAAM,aAAY;AACrB,SAAS,QAAQ,UAAgB,OAA6B,SAAS,gBAAgB,gBAAmC,OAAO,WAAW,WAAW,aAAa,aAAa,UAAU,eAAe;AAC1M,SAAS,YAAAE,iBAAoC;AAC7C,OAAOR,YAAW;AAClB,SAAS,aAAAC,kBAAiB;AAO1B,IAAM,UAAUO,UAAS,MAAM;AAX/B;AAYE,QAAM,SAAS,UAAU,IAAI,WAAW;AACxC,QAAM,WAAW,UAAU,IAAI,cAAc;AAC7C,EAAAP,WAAU,MAAM;AACd,aAAS,QAAQ;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,SACE,gBAAAD,OAAA,cAAC,SAAI,WAAU,eACb,gBAAAA,OAAA,cAAC,SAAI,WAAU,2BACb,gBAAAA,OAAA,cAAC,SAAI,WAAU,4CACb,gBAAAA,OAAA,cAAC,YAAS,MAAK,MAAK,YAAY,SAAS,gBAAgB,OAAO,eAAe,OAAK,SAAS,gBAAgB,KAAK,CAAC,KAAG,iBAAe,GACrI,gBAAAA,OAAA,cAAC,WAAQ,SAAS,gBAAAA,OAAA,cAAC,SAAI,WAAU,eAAY,yGAAuG,KAClJ,gBAAAA,OAAA,cAACM,OAAA,EAAK,MAAK,eAAc,OAAM,MAAK,QAAO,MAAK,WAAU,iBAAgB,CAC5E,CACF,GAEA,gBAAAN,OAAA,cAAC,UAAO,cAAc,gBAAAA,OAAA,cAACM,OAAA,EAAK,MAAK,oBAAmB,OAAM,MAAK,QAAO,MAAK,GAAI,WAAU,WAAU,SAAS,OAAK;AAC/G,aAAS,QAAQ;AAAA,EACnB,KAAG,MAAI,GACP,gBAAAN,OAAA,cAAC,WAAQ,WAAU,UAAS,QAAQ,IAAI,WAAS,MAAC,QAAQ,SAAS,eAAe,cAAc,CAAC,SAAS,SAAS,gBAAiB,QAClI,gBAAAA,OAAA,cAAC,sBACC,gBAAAA,OAAA,cAAC,UAAO,OAAM,WAAU,cAAc,gBAAAA,OAAA,cAACM,OAAA,EAAK,MAAK,mBAAkB,OAAM,MAAK,QAAO,MAAK,GAAI,WAAU,UAAO,gBAAc,CAC/H,GACA,gBAAAN,OAAA,cAAC,sBACC,gBAAAA,OAAA,cAAC,SAAI,WAAU,eACb,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAU;AAAA,MACV,aAAY;AAAA,MACZ,OAAO,SAAS;AAAA,MAChB,eAAe,CAAC,UAAU;AACxB,iBAAS,YAAY;AAAA,MACvB;AAAA;AAAA,EACF,GACA,gBAAAA,OAAA,cAAC,UAAO,OAAM,WAAU,YAAY,CAAC,SAAS,WAAW,SAAS,OAAK,SAAS,aAAa,KAAG,MAAI,CACtG,CACF,CACF,CAEF,GAEA,gBAAAA,OAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,eAAc;AAAA,MACd,qBAAqB,CAAC,SAAS,OAAO,KAAK;AAAA,MAC3C,cAAW;AAAA;AAAA,IAEX,gBAAAA,OAAA,cAAC,mBACC,gBAAAA,OAAA,cAAC,mBAAY,oBAAkB,GAC/B,gBAAAA,OAAA,cAAC,eAAY,OAAM,YAAS,OAAK,GACjC,gBAAAA,OAAA,cAAC,eAAY,OAAM,YAAS,QAAM,GAClC,gBAAAA,OAAA,cAAC,eAAY,OAAM,YAAS,SAAO,GACnC,gBAAAA,OAAA,cAAC,eAAY,OAAM,YAAS,QAAM,CACpC;AAAA,IACA,gBAAAA,OAAA,cAAC,kBAEG,oBAAS,YAAT,mBAAkB,UAAlB,mBAAyB,IAAI,CAAC,MAAM,UAAU;AAC5C,aAAO,gBAAAA,OAAA,cAAC,YAAS,WAAU,kBAAiB,KAAK,KAAK,MAAM,SAAS,OAAK;AACxE,iBAAS,OAAO,KAAK,KAAK,IAAI;AAC9B,kBAAU,IAAI,WAAW,EAAE,QAAQ,iBAAiB;AAAA,MACtD,KACE,gBAAAA,OAAA,cAAC,iBAAY,KAAK,IAAK,GACvB,gBAAAA,OAAA,cAAC,iBAAY,SAAS,UAAU,KAAK,OAAO,CAAE,GAC9C,gBAAAA,OAAA,cAAC,iBAAW,KAAK,MAAO,GACxB,gBAAAA,OAAA,cAAC,aAAU,WAAW,SAAS,aAAa,KAAK,OAAO,KAAI,KAAK,SAAQ,GAAC,GAC1E,gBAAAA,OAAA,cAAC,iBACC,gBAAAA,OAAA,cAAC,SAAI,WAAU,sCACb,gBAAAA,OAAA,cAAC,WAAQ,SAAQ,qBACf,gBAAAA,OAAA,cAAC,UAAK,WAAU,wDAAuD,SAAS,OAAK;AACnF,UAAE,gBAAgB;AAClB,iBAAS,cAAc,KAAK,IAAI;AAAA,MAClC,KACE,gBAAAA,OAAA,cAACM,OAAA,EAAK,MAAK,uBAAsB,OAAM,MAAK,QAAO,MAAK,CAC1D,CACF,GAEE,KAAK,UAAU,gBAAAN,OAAA,cAAC,WAAQ,SAAQ,YAC9B,gBAAAA,OAAA,cAAC,UAAK,WAAU,wDAAuD,SAAS,OAAK;AACnF,UAAE,gBAAgB;AAClB,iBAAS,UAAU,KAAK,IAAI;AAAA,MAC9B,KACE,gBAAAA,OAAA,cAACM,OAAA,EAAK,MAAK,uCAAsC,OAAM,MAAK,QAAO,MAAK,CAC1E,CACF,CAEJ,CACF,CACF;AAAA,IACF,EAEJ;AAAA,EACF,CACF;AAEJ,CAAC","sourcesContent":[null,null,null,null,null,null,null,null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=master-copies.js.map",null,null,null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=relay.js.map",null,"import { RainbowKitProvider, darkTheme, lightTheme } from '@rainbow-me/rainbowkit';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport React, { useEffect, useState } from 'react';\nimport { useReconnect, WagmiProvider } from 'wagmi';\nimport { RootStore } from \"../../store\";\nimport { WalletStore } from '.';\nimport { WalletConfigStore } from './walletConfigStore'\nimport { reaction } from 'mobx';\nimport { type Chain } from \"viem/chains\";\nimport { iotex } from './type';\nimport { useRouter } from 'next/router';\n\nconst queryClient = new QueryClient();\nexport const WalletProvider = (({\n children,\n theme,\n appName,\n supportedChains,\n compatibleMode = true,\n router\n}: {\n children: React.ReactNode,\n theme?: 'dark' | 'light',\n appName?: string,\n supportedChains?: Chain[],\n compatibleMode?: boolean,\n router?: any\n}) => {\n //@ts-ignore\n const walletConfig = RootStore.Get(WalletConfigStore, { args: { supportedChains: supportedChains ?? [iotex] } });\n\n const [config, setConfig] = useState(walletConfig.rainbowKitConfig)\n\n reaction(\n () => walletConfig.updateTicker,\n () => {\n setConfig(walletConfig.rainbowKitConfig)\n }\n )\n\n useEffect(() => {\n if (appName) {\n walletConfig.appName = appName\n }\n if (compatibleMode != undefined) {\n walletConfig.compatibleMode = compatibleMode\n }\n }, [appName, compatibleMode])\n return (\n //@ts-ignore\n <WagmiProvider config={config} reconnectOnMount={compatibleMode ? false : true}>\n <QueryClientProvider client={queryClient} >\n <RainbowKitProvider locale=\"en\" theme={theme == 'dark' ? darkTheme() : lightTheme()}>\n {/* @ts-ignore */}\n {children}\n <WalletConnect compatibleMode={compatibleMode} router={router} />\n </RainbowKitProvider>\n </QueryClientProvider>\n </WagmiProvider>\n );\n});\n\nexport const WalletConnect = ({ compatibleMode = true, router }) => {\n const { reconnect } = useReconnect()\n const wallet = RootStore.Get(WalletStore);\n wallet.use();\n\n if (router && compatibleMode) {\n useEffect(() => {\n if (!wallet.account) {\n reconnect()\n }\n }, [router])\n }\n\n return <></>;\n};\n","import React, { useEffect } from \"react\";\nimport { Store } from \"../../store/standard/base\";\nimport { Account, PublicClient, type HttpTransport, WalletClient, TransactionReceipt } from \"viem\";\nimport { PromiseHook } from '../../store/standard/PromiseHook';\nimport { BigNumberState } from '../../store/standard/BigNumberState';\nimport BigNumber from 'bignumber.js';\nimport { AddressMode, WalletTransactionHistoryType } from \"./type\";\nimport EventEmitter from \"events\";\nimport { SwitchChainMutate } from \"wagmi/query\";\nimport { Config, useAccount, useConnect, useDisconnect, useReconnect, useSwitchChain, useWalletClient, } from \"wagmi\";\nimport { Chain, useConnectModal, WalletDetailsParams } from '@rainbow-me/rainbowkit';\nimport { RootStore } from \"../../store\";\nimport { ToastPlugin } from \"../Toast/Toast\";\nimport { http, createPublicClient } from 'viem';\nimport { WalletHistoryStore, WalletRpcStore } from './walletPluginStore';\nimport SafeAppsSDK, { TransactionStatus } from '@safe-global/safe-apps-sdk';\nimport { ShowSuccessTxDialog } from './SuccessTxDialog'\nimport { WalletConfigStore } from \"./walletConfigStore\";\nimport { AIem } from \"../../aiem\";\nimport { helper } from \"../../lib/helper\";\n\nexport class WalletStore implements Store {\n sid = 'wallet';\n autoObservable = true;\n account: `0x${string}` = null;\n isSuccessDialogOpen = false;\n isInSafeApp = false;\n isConnect = false;\n walletClient: WalletClient;\n event = new EventEmitter();\n switchChain: SwitchChainMutate<Config, unknown> | undefined;\n updateTicker = 0;\n addressMode: AddressMode = '0x';\n get isIoTeXChain(): boolean {\n if (this.chain && this.chain.id == 4689) {\n return true\n }\n return false\n }\n setAddressMode(mode: AddressMode) {\n this.addressMode = mode;\n localStorage.setItem('addressMode', mode);\n }\n get accountFormat() {\n return this.account ? helper.address.convertAddress(this.addressMode, this.account) : '-';\n }\n get connectAccountEllipsisFormat() {\n return this.account ? helper.string.truncate(helper.address.convertAddress(this.addressMode, this.account), 11, '...') : '-';\n }\n get accountEllipsisFormat() {\n return this.account ? helper.string.truncate(helper.address.convertAddress(this.addressMode, this.account), 16, '...') : '-';\n }\n get supportedChains() {\n return RootStore.Get(WalletConfigStore).supportedChains\n }\n chain: Chain | undefined;\n openConnectModal: any;\n disconnect: any;\n balance = PromiseHook.wrap({\n func: async () => {\n if (!this.publicClient || !this.account) return helper.number.warpBigNumber('0');\n const balance = await this.publicClient.getBalance({\n address: this.account,\n });\n if (balance) {\n return helper.number.warpBigNumber(balance?.toString() ?? '0');\n }\n },\n });\n\n constructor(args?: Partial<WalletStore>) {\n Object.assign(this, args);\n }\n\n use(router?: any) {\n const { data: walletClient, isSuccess } = useWalletClient();\n const { chain, address, isConnected } = useAccount();\n\n const { switchChain } = useSwitchChain();\n const { openConnectModal } = useConnectModal();\n const { connect } = useConnect();\n const { disconnect } = useDisconnect();\n const walletConfigStore = RootStore.Get(WalletConfigStore);\n this.set({\n //@ts-ignore\n connect,\n // @ts-ignore \n walletClient,\n openConnectModal,\n switchChain,\n disconnect\n })\n\n useEffect(() => {\n RootStore.Get(WalletHistoryStore).set({ isRender: true })\n this.set({\n isConnect: isConnected,\n account: address,\n // @ts-ignore \n chain,\n })\n walletConfigStore.set({\n isConnect: isConnected,\n })\n if (this.account) {\n this.updateTicker++;\n walletConfigStore.set({\n walletUpdateTick: this.updateTicker,\n })\n this.event.emit('walletAccount:ready');\n }\n }, [address, isConnected, chain])\n\n\n\n useEffect(() => {\n setTimeout(() => {\n this.balance.call()\n }, 1500)\n }, [this.updateTicker])\n }\n\n //always return or return default chain\n get publicClient(): PublicClient<HttpTransport, Chain, any, any> {\n if (this.chain && this.supportedChains.some(i => i.id === this.chain.id)) {\n if (this.chain.id == 4689) {\n return AIem.PubClient('4689', { rpcUrls: { default: { http: [RootStore.Get(WalletRpcStore).curRpc.value] } }, multicall: true })\n }\n return AIem.PubClient(this.chain.id.toString())\n } else {\n return AIem.PubClient('4689')\n }\n }\n\n set(args: Partial<WalletStore>) {\n Object.assign(this, args);\n }\n\n toJSON() {\n const { account } = this;\n return { account };\n }\n\n async prepare(chainId?: number): Promise<WalletStore> {\n return new Promise<WalletStore>(async (res, rej) => {\n try {\n if (this.account) {\n if (!chainId) {\n res(this);\n }\n if (Number(this.chain?.id) == Number(chainId)) {\n console.log('has and return ')\n res(this);\n }\n this.switchChain?.({ chainId: chainId ?? 4689 });\n const interval = setInterval(() => {\n if (this.switchChain) {\n if (this.chain?.id == chainId) {\n try {\n // //@ts-ignore\n // const provider = new ethers.providers.Web3Provider(window?.ethereum);\n // this.signer = provider.getSigner();\n res(this);\n } catch (error) {\n }\n clearInterval(interval);\n }\n }\n }, 1000);\n } else {\n this.openConnectModal();\n // this.connect?.({ chainId, connector: this.rainbowkitParams.connectors()[0] }) connect success but ui not change so\n const interval = setInterval(() => {\n if (this.account) {\n clearInterval(interval);\n res(this);\n }\n }, 1000);\n }\n } catch (error) {\n rej(error);\n }\n });\n }\n\n\n async waitForTransactionReceipt({ hash }) {\n // https://github.com/wevm/wagmi/discussions/3463#discussioncomment-8139187\n if (this.isInSafeApp) {\n // console.log('isInSafeApp', this.isInSafeApp);\n const sdk = new SafeAppsSDK();\n while (true) {\n const queued = await sdk.txs.getBySafeTxHash(hash);\n if (queued.txStatus === TransactionStatus.AWAITING_CONFIRMATIONS || queued.txStatus === TransactionStatus.AWAITING_EXECUTION || queued.txStatus === TransactionStatus.CANCELLED) {\n await new Promise((resolve) => setTimeout(resolve, 2000));\n } else {\n return this.publicClient.waitForTransactionReceipt({ hash: queued.txHash! as `0x${string}` });\n }\n }\n } else {\n return this.publicClient.waitForTransactionReceipt({ hash });\n }\n }\n\n static async SendTx(...args: Parameters<WalletStore['sendTx']>) {\n return RootStore.Get(WalletStore).sendTx(...args);\n }\n static async SendRawTx(...args: Parameters<WalletStore['sendRawTx']>) {\n return RootStore.Get(WalletStore).sendRawTx(...args);\n }\n async sendTx({\n chainId,\n tx,\n autoAlert = true,\n loadingText,\n successText,\n onError,\n historyItem,\n showSuccessDialog = false,\n }: {\n chainId: number | string;\n tx: any;\n autoAlert?: boolean;\n loadingText?: string;\n successText?: string;\n showSuccessDialog?: boolean;\n historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;\n onError?: (error: any) => void;\n }) {\n const toast = RootStore.Get(ToastPlugin);\n let hash;\n const historyStore = RootStore.Get(WalletHistoryStore)\n try {\n if (loadingText) toast.loading(loadingText);\n if (!chainId) throw new Error('chainId, address, data is required');\n await RootStore.Get(WalletStore).prepare(Number(chainId));\n hash = await tx();\n if (historyItem) {\n historyStore.recordHistory({ ...historyItem, tx: hash, timestamp: Date.now(), status: 'loading', chainId: Number(chainId) });\n }\n const receipt = await this.waitForTransactionReceipt({ hash });\n if (receipt.status == 'success') {\n toast.dismiss();\n toast.success('The transaction was successful');\n if (historyItem) {\n if (showSuccessDialog) {\n ShowSuccessTxDialog({ msg: historyItem.msg, hash: hash });\n }\n historyStore.updateHistoryStatusByTx(hash, 'success');\n }\n } else {\n toast.dismiss();\n toast.error('The transaction failed');\n historyStore.updateHistoryStatusByTx(hash, 'fail');\n }\n if (successText) toast.success(successText);\n this.updateTicker++;\n return receipt;\n } catch (error) {\n console.log(error);\n toast.dismiss();\n if (autoAlert) {\n const msg = /reason=\"[A-Za-z0-9_ :\"]*/g.exec(error?.message);\n console.log('sendTx', error?.message);\n if (error?.message?.includes('user rejected transaction') || String(error).toLowerCase().includes('user rejected') || String(error).toLowerCase().includes('user denied')) {\n toast.error('user rejected transaction');\n onError?.(error);\n return;\n }\n if (error?.message?.includes('The Transaction may not be processed on a block yet') || error?.message?.includes('could not be found')) {\n if (historyItem) {\n historyStore.updateHistoryStatusByTx(hash, 'success');\n }\n toast.success('The transaction was successful');\n return;\n }\n\n if (msg) {\n toast.error(msg as unknown as string);\n onError?.(msg);\n } else {\n if (error?.message.includes('viem')) {\n const messageArr = error?.message.split('\\n');\n console.log('messageArr---', messageArr);\n if (messageArr.length > 0) {\n toast.error(messageArr[0]);\n onError?.(messageArr[0]);\n }\n } else {\n toast.error(String(error?.message || error));\n onError?.(String(error?.message || error));\n }\n }\n } else {\n throw error;\n }\n }\n }\n async sendRawTx({\n chainId,\n address,\n data,\n value = '0',\n autoAlert = true,\n onSended,\n onSuccess,\n onError,\n historyItem,\n loadingText,\n showSuccessDialog = false,\n }: {\n loadingText?: string;\n chainId: number | string;\n address: string;\n data: string | null;\n value?: string;\n autoRefresh?: boolean;\n autoAlert?: boolean;\n historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;\n showTransactionSubmitDialog?: boolean;\n showSuccessDialog?: boolean;\n onSended?: ({ res }: { res: TransactionReceipt }) => void;\n onSuccess?: ({ res }: { res: TransactionReceipt }) => void;\n onError?: ({ res }: { res: TransactionReceipt }) => void;\n }): Promise<TransactionReceipt | undefined> {\n chainId = Number(chainId);\n const toast = RootStore.Get(ToastPlugin);\n try {\n if (!chainId || !address) throw new Error('chainId, address, is required');\n await RootStore.Get(WalletStore).prepare(chainId);\n if (loadingText) toast.loading(loadingText);\n const historyStore = RootStore.Get(WalletHistoryStore)\n // @ts-ignore\n const hash = await this.walletClient.sendTransaction({\n account: this.account,\n to: address as `0x${string}`,\n data: data as `0x${string}`,\n value: value ? BigInt(value) : undefined,\n });\n // console.log(hash)\n let receipt = await this.waitForTransactionReceipt({ hash });\n console.log(receipt);\n if (historyItem) {\n historyStore.recordHistory({ ...historyItem, tx: receipt.transactionHash, timestamp: Date.now(), status: 'loading', chainId: Number(chainId) });\n }\n onSended ? onSended({ res: receipt }) : null;\n if (receipt.status == 'success') {\n if (historyItem) {\n if (showSuccessDialog) {\n ShowSuccessTxDialog({ msg: historyItem.msg, hash: hash });\n }\n historyStore.updateHistoryStatusByTx(receipt.transactionHash, 'success');\n }\n onSuccess && onSuccess({ res: receipt });\n toast.dismiss();\n toast.success('The transaction was successful');\n } else {\n if (historyItem) {\n historyStore.updateHistoryStatusByTx(receipt.transactionHash, 'fail');\n }\n onError && onError({ res: receipt });\n toast.dismiss();\n toast.error('The transaction failed');\n }\n return receipt;\n } catch (error) {\n toast.dismiss();\n console.log(error.message);\n const msg = /reason=\"[A-Za-z0-9_ :\"]*/g.exec(error?.message);\n // Details: Transaction was rejected\n if (error?.message?.includes('user rejected transaction') || error?.message?.includes('cancel') || String(error).toLowerCase().includes('user rejected') || String(error).toLowerCase().includes('user denied')) {\n autoAlert && toast.error('user rejected transaction');\n return;\n }\n if (error?.message?.includes('Price slippage check')) {\n autoAlert && toast.error('The latest pool price has changed, please try to increase the slippage tolerance or reload the page.');\n return;\n }\n if (error?.message.includes('viem')) {\n const messageArr = error?.message.split('\\n');\n console.log('messageArr---', messageArr);\n if (messageArr.length > 0) {\n toast.error(messageArr[0]);\n onError?.(messageArr[0]);\n return;\n }\n }\n\n if (msg) {\n autoAlert && toast.error(msg as unknown as string);\n } else {\n autoAlert && toast.error(String(error.message));\n }\n if (!autoAlert) {\n throw error;\n }\n }\n }\n}","import React from 'react';\nimport { Icon } from \"@iconify/react\";\nimport { RootStore } from \"../../store\";\nimport { Store } from \"../../store/standard/base\";\nimport { StorageState } from '../../store/standard/StorageState';\nimport { ToastPlugin } from \"../Toast/Toast\";\nimport { WalletTransactionHistoryType } from \"./type\";\nimport { WalletStore } from \".\";\nimport { helper } from \"../../lib/helper\";\n\nconst defaultRPCList = [\n { name: 'https://babel-api.fastblocks.io', latency: 0, height: 0, custom: false },\n { name: 'https://babel-api.mainnet.iotex.one', latency: 0, height: 0, },\n { name: 'https://babel-api.mainnet.iotex.io', latency: 0, height: 0, },\n { name: 'https://iotex-network.rpc.thirdweb.com', latency: 0, height: 0, },\n { name: 'https://iotexrpc.com', latency: 0, height: 0, },\n { name: 'https://iotex.api.onfinality.io/public', latency: 0, height: 0, },\n { name: 'https://rpc.ankr.com/iotex', latency: 0, height: 0, },\n]\nexport class WalletRpcStore implements Store {\n sid = 'WalletPluginStore';\n autoObservable = true\n curRpc = new StorageState({ default: 'https://babel-api.mainnet.iotex.one', key: 'curRPC-v2', value: 'https://babel-api.mainnet.iotex.one' });\n isAutoSelectRpc = new StorageState({ key: 'isAutoSelectRpc', default: true });\n customRpc = '';\n rpcList = new StorageState({ key: 'customRpcList-v2', default: defaultRPCList, value: [] })\n showCustomRpc = false;\n get currentRpc() {\n console.log(this.rpcList.value?.find(i => i.name == this.curRpc))\n return this.rpcList.value?.find(i => i.name == this.curRpc.value) || null\n }\n addCustomRpc() {\n const item = { name: this.customRpc, latency: 0, height: 0, custom: true }\n if (defaultRPCList.find(i => i.name === item.name)) {\n return RootStore.Get(ToastPlugin).error('Rpc already exists')\n }\n if (this.rpcList.value) {\n this.rpcList.save([...this.rpcList.value, item])\n this.refresh()\n return\n }\n this.rpcList.save([...defaultRPCList, item])\n this.refresh()\n }\n async addToMetamask(url) {\n try {\n if (typeof window == 'undefined') return;\n await window?.ethereum?.request({\n method: 'wallet_addEthereumChain',\n params: [{\n chainId: `0x${(4689).toString(16)}`,\n chainName: 'IoTeX Mainnet',\n nativeCurrency: {\n name: 'IoTeX',\n symbol: 'IOTX',\n decimals: 18,\n },\n rpcUrls: [url],\n blockExplorerUrls: ['https://iotexscan.io'],\n }]\n });\n RootStore.Get(ToastPlugin).success('Network added');\n console.log('Network added');\n } catch (error) {\n console.error('Failed to add network', error);\n }\n }\n refresh() {\n this.showCustomRpc = false\n this.customRpc = ''\n setTimeout(() => {\n this.testRpc()\n }, 500)\n }\n latencyColor(latency: number) {\n if (latency < 0) {\n return 'text-red-500'\n }\n if (latency < 1) {\n return 'text-green-500'\n }\n if (latency < 2) {\n return 'text-yellow-500'\n }\n return 'text-red-500'\n }\n async testRpcFunction(url: string): Promise<{ url: string, lentency: number, height: number }> {\n const start = performance.now();\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n method: 'eth_getBlockByNumber',\n params: [\"latest\", false],\n id: 1,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Error from server: ${response.status}`);\n }\n const res = await response.json();\n console.log(res)\n const end = performance.now();\n return { url, lentency: Number(helper.number.numberFormat(((end - start) / 1000), '0.000', { fallback: '-1' })), height: parseInt(res.result.number, 16) };\n } catch (error) {\n console.error('RPC Latency Test Failed:', error);\n return { url, lentency: -1, height: -1 };\n }\n }\n testRpc() {\n this.rpcList?.value.forEach(i => {\n this.testRpcFunction(i.name).then(res => {\n i.latency = res.lentency\n i.height = res.height\n })\n })\n this.rpcList.save(this.rpcList.value)\n }\n removeRpc(name: string) {\n this.rpcList.save(this.rpcList.value.filter(i => i.name !== name))\n }\n scoreIcon(score: number) {\n if (score < 0) {\n return <Icon icon=\"codicon:error\" width=\"18\" height=\"18\" style={{ color: \"#FF0000\" }} />\n }\n if (score < 1) {\n return <Icon icon=\"icon-park-solid:check-one\" width=\"18\" height=\"18\" style={{ color: \"#289726\" }} />\n }\n if (score < 2) {\n return <Icon icon=\"bxs:error\" width=\"18\" height=\"18\" style={{ color: \"#FFA500\" }} />\n }\n return <Icon icon=\"codicon:error\" width=\"18\" height=\"18\" style={{ color: \"#FF0000\" }} />\n }\n get wallet() {\n return RootStore.Get(WalletStore)\n }\n // debounceAutoSelectRpc = pDebounce(this.autoSelectRpc, 3000)\n async autoSelectRpc() {\n console.log('autoSelectRpc')\n for (let i = 0; i < this.rpcList.value.length; i++) {\n const item = this.rpcList.value[i]\n const res = await this.testRpcFunction(item.name)\n if (res.lentency != -1 || res.height > 0) {\n this.curRpc.save(item.name)\n break;\n }\n }\n }\n}\n\nexport class WalletHistoryStore implements Store {\n sid = 'WalletHistoryStore';\n isRender = false\n autoObservable = true\n set(params: Partial<WalletHistoryStore>) {\n Object.assign(this, params);\n }\n private history = new StorageState<WalletTransactionHistoryType[] | null>({ value: [], key: 'history' });\n get historyList(): WalletTransactionHistoryType[] {\n if (this.isRender) {\n return this.history.value\n }\n return []\n }\n recordHistory(item: WalletTransactionHistoryType) {\n let value: WalletTransactionHistoryType[] | null = this.history.load();\n if (!value) {\n value = [item];\n } else {\n value = [...value, item];\n }\n this.history.setValue(value);\n }\n updateHistoryStatusByTx(tx: string | null, status: 'loading' | 'success' | 'fail') {\n let value: WalletTransactionHistoryType[] | null = this.history.load();\n if (!value) {\n return;\n }\n value = value.map((i) => {\n if (i.tx == tx) {\n i.status = status;\n return i;\n }\n if (!tx) {\n i.status = status;\n }\n return i;\n });\n this.history.setValue(value);\n }\n clearHistory() {\n this.history.setValue(null);\n }\n}\n","export const getSDKVersion = () => '9.1.0';\n","// i.e. 0-255 -> '00'-'ff'\nconst dec2hex = (dec: number): string => dec.toString(16).padStart(2, '0');\n\nconst generateId = (len: number): string => {\n const arr = new Uint8Array((len || 40) / 2);\n window.crypto.getRandomValues(arr);\n return Array.from(arr, dec2hex).join('');\n};\n\nconst generateRequestId = (): string => {\n if (typeof window !== 'undefined') {\n return generateId(10);\n }\n\n return new Date().getTime().toString(36);\n};\n\nexport { generateRequestId };\n","import { ErrorResponse, SDKRequestData, RequestId, SuccessResponse, MethodToResponse } from '../types/index.js';\nimport { getSDKVersion } from '../version.js';\nimport { Methods } from './methods.js';\nimport { generateRequestId } from './utils.js';\n\nclass MessageFormatter {\n static makeRequest = <M extends Methods = Methods, P = unknown>(method: M, params: P): SDKRequestData<M, P> => {\n const id = generateRequestId();\n\n return {\n id,\n method,\n params,\n env: {\n sdkVersion: getSDKVersion(),\n },\n };\n };\n\n static makeResponse = (id: RequestId, data: MethodToResponse[Methods], version: string): SuccessResponse => ({\n id,\n success: true,\n version,\n data,\n });\n\n static makeErrorResponse = (id: RequestId, error: string, version: string): ErrorResponse => ({\n id,\n success: false,\n error,\n version,\n });\n}\n\nexport { MessageFormatter };\n","export enum Methods {\n sendTransactions = 'sendTransactions',\n rpcCall = 'rpcCall',\n getChainInfo = 'getChainInfo',\n getSafeInfo = 'getSafeInfo',\n getTxBySafeTxHash = 'getTxBySafeTxHash',\n getSafeBalances = 'getSafeBalances',\n signMessage = 'signMessage',\n signTypedMessage = 'signTypedMessage',\n getEnvironmentInfo = 'getEnvironmentInfo',\n getOffChainSignature = 'getOffChainSignature',\n requestAddressBook = 'requestAddressBook',\n wallet_getPermissions = 'wallet_getPermissions',\n wallet_requestPermissions = 'wallet_requestPermissions',\n}\n\nexport enum RestrictedMethods {\n requestAddressBook = 'requestAddressBook',\n}\n","import { MessageFormatter } from './messageFormatter.js';\nimport { Methods } from './methods.js';\nimport { InterfaceMessageEvent, Communicator, Response, SuccessResponse } from '../types/index.js';\n\n// eslint-disable-next-line\ntype Callback = (response: any) => void;\n\nclass PostMessageCommunicator implements Communicator {\n private readonly allowedOrigins: RegExp[] | null = null;\n private callbacks = new Map<string, Callback>();\n private debugMode = false;\n private isServer = typeof window === 'undefined';\n\n constructor(allowedOrigins: RegExp[] | null = null, debugMode = false) {\n this.allowedOrigins = allowedOrigins;\n this.debugMode = debugMode;\n\n if (!this.isServer) {\n window.addEventListener('message', this.onParentMessage);\n }\n }\n\n private isValidMessage = ({ origin, data, source }: InterfaceMessageEvent): boolean => {\n const emptyOrMalformed = !data;\n const sentFromParentEl = !this.isServer && source === window.parent;\n const majorVersionNumber = typeof data.version !== 'undefined' && parseInt(data.version.split('.')[0]);\n const allowedSDKVersion = typeof majorVersionNumber === 'number' && majorVersionNumber >= 1;\n let validOrigin = true;\n if (Array.isArray(this.allowedOrigins)) {\n validOrigin = this.allowedOrigins.find((regExp) => regExp.test(origin)) !== undefined;\n }\n\n return !emptyOrMalformed && sentFromParentEl && allowedSDKVersion && validOrigin;\n };\n\n private logIncomingMessage = (msg: InterfaceMessageEvent): void => {\n console.info(`Safe Apps SDK v1: A message was received from origin ${msg.origin}. `, msg.data);\n };\n\n private onParentMessage = (msg: InterfaceMessageEvent): void => {\n if (this.isValidMessage(msg)) {\n this.debugMode && this.logIncomingMessage(msg);\n this.handleIncomingMessage(msg.data);\n }\n };\n\n private handleIncomingMessage = (payload: InterfaceMessageEvent['data']): void => {\n const { id } = payload;\n\n const cb = this.callbacks.get(id);\n if (cb) {\n cb(payload);\n\n this.callbacks.delete(id);\n }\n };\n\n public send = <M extends Methods, P, R>(method: M, params: P): Promise<SuccessResponse<R>> => {\n const request = MessageFormatter.makeRequest(method, params);\n\n if (this.isServer) {\n throw new Error(\"Window doesn't exist\");\n }\n\n window.parent.postMessage(request, '*');\n return new Promise((resolve, reject) => {\n this.callbacks.set(request.id, (response: Response<R>) => {\n if (!response.success) {\n reject(new Error(response.error));\n return;\n }\n\n resolve(response);\n });\n });\n };\n}\n\nexport default PostMessageCommunicator;\nexport * from './methods.js';\n","import { ChainInfo as _ChainInfo } from '@safe-global/safe-gateway-typescript-sdk';\n\nexport type ChainInfo = Pick<\n _ChainInfo,\n 'chainName' | 'chainId' | 'shortName' | 'nativeCurrency' | 'blockExplorerUriTemplate'\n>;\n\nexport { NativeCurrency } from '@safe-global/safe-gateway-typescript-sdk';\n\nexport type BaseTransaction = {\n to: string;\n value: string;\n data: string;\n};\n\nexport type GetTxBySafeTxHashParams = {\n safeTxHash: string;\n};\n\nexport interface SendTransactionRequestParams {\n safeTxGas?: number;\n}\n\nexport interface SendTransactionsParams {\n txs: BaseTransaction[];\n params?: SendTransactionRequestParams;\n}\n\nexport type GetBalanceParams = { currency?: string };\n\nexport type SignMessageParams = {\n message: string;\n};\n\nexport interface TypedDataDomain {\n name?: string;\n version?: string;\n chainId?: string | number | bigint | { toNumber: () => number };\n verifyingContract?: string;\n salt?: string;\n}\n\nexport interface TypedDataTypes {\n name: string;\n type: string;\n}\n\nexport type TypedMessageTypes = { [key: string]: TypedDataTypes[] };\n\nexport type EIP712TypedData = {\n domain: TypedDataDomain;\n types: TypedMessageTypes;\n message: Record<string, any>;\n primaryType?: string;\n};\n\nexport type SignTypedMessageParams = {\n typedData: EIP712TypedData;\n};\n\nexport type SendTransactionsResponse = {\n safeTxHash: string;\n};\n\nexport type OffChainSignMessageResponse = {\n messageHash: string;\n};\n\nexport type SignMessageResponse = SendTransactionsResponse | OffChainSignMessageResponse;\n\nexport type SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\nexport type SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\nexport type EnvironmentInfo = {\n origin: string;\n};\n\nexport type PostMessageOptions = {\n transfer?: any[];\n};\n\nexport type AddressBookItem = {\n address: string;\n chainId: string;\n name: string;\n};\n\nexport const isObjectEIP712TypedData = (obj?: unknown): obj is EIP712TypedData => {\n return typeof obj === 'object' && obj != null && 'domain' in obj && 'types' in obj && 'message' in obj;\n};\n","import { SafeBalanceResponse, TransactionDetails, TokenInfo } from '@safe-global/safe-gateway-typescript-sdk';\n\nexport {\n AddOwner,\n ChangeImplementation,\n ChangeThreshold,\n Creation,\n Custom,\n DataDecoded,\n DetailedExecutionInfo,\n DisableModule,\n EnableModule,\n Erc20Transfer,\n Erc721Transfer,\n InternalTransaction,\n ModuleExecutionDetails,\n MultiSend,\n MultisigConfirmation,\n MultisigExecutionDetails,\n NativeCoinTransfer,\n Operation,\n Parameter,\n RemoveOwner,\n SafeAppInfo,\n SetFallbackHandler,\n SettingsChange,\n SettingsInfo,\n SwapOwner,\n TokenInfo,\n TokenType,\n TransactionData,\n TransactionInfo,\n TransactionStatus,\n Transfer,\n TransferDirection,\n TransferInfo,\n} from '@safe-global/safe-gateway-typescript-sdk';\n\nexport type GatewayTransactionDetails = TransactionDetails;\n\nexport type TokenBalance = {\n tokenInfo: TokenInfo;\n balance: string;\n fiatBalance: string;\n fiatConversion: string;\n};\n\nexport type SafeBalances = SafeBalanceResponse;\n","import { Methods } from '../communication/methods.js';\nimport {\n GatewayTransactionDetails,\n SignMessageParams,\n SendTransactionsParams,\n GetTxBySafeTxHashParams,\n Communicator,\n SendTransactionsResponse,\n SignTypedMessageParams,\n EIP712TypedData,\n isObjectEIP712TypedData,\n SignMessageResponse,\n} from '../types/index.js';\n\nclass TXs {\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n }\n\n async getBySafeTxHash(safeTxHash: string): Promise<GatewayTransactionDetails> {\n if (!safeTxHash) {\n throw new Error('Invalid safeTxHash');\n }\n\n const response = await this.communicator.send<\n Methods.getTxBySafeTxHash,\n GetTxBySafeTxHashParams,\n GatewayTransactionDetails\n >(Methods.getTxBySafeTxHash, { safeTxHash });\n\n return response.data;\n }\n\n async signMessage(message: string): Promise<SignMessageResponse> {\n const messagePayload = {\n message,\n };\n\n const response = await this.communicator.send<Methods.signMessage, SignMessageParams, SignMessageResponse>(\n Methods.signMessage,\n messagePayload,\n );\n\n return response.data;\n }\n\n async signTypedMessage(typedData: EIP712TypedData): Promise<SignMessageResponse> {\n if (!isObjectEIP712TypedData(typedData)) {\n throw new Error('Invalid typed data');\n }\n\n const response = await this.communicator.send<\n Methods.signTypedMessage,\n SignTypedMessageParams,\n SignMessageResponse\n >(Methods.signTypedMessage, { typedData });\n\n return response.data;\n }\n\n async send({ txs, params }: SendTransactionsParams): Promise<SendTransactionsResponse> {\n if (!txs || !txs.length) {\n throw new Error('No transactions were passed');\n }\n\n const messagePayload = {\n txs,\n params,\n };\n\n const response = await this.communicator.send<\n Methods.sendTransactions,\n SendTransactionsParams,\n SendTransactionsResponse\n >(Methods.sendTransactions, messagePayload);\n\n return response.data;\n }\n}\n\nexport { TXs };\n","export const RPC_CALLS = {\n eth_call: 'eth_call',\n eth_gasPrice: 'eth_gasPrice',\n eth_getLogs: 'eth_getLogs',\n eth_getBalance: 'eth_getBalance',\n eth_getCode: 'eth_getCode',\n eth_getBlockByHash: 'eth_getBlockByHash',\n eth_getBlockByNumber: 'eth_getBlockByNumber',\n eth_getStorageAt: 'eth_getStorageAt',\n eth_getTransactionByHash: 'eth_getTransactionByHash',\n eth_getTransactionReceipt: 'eth_getTransactionReceipt',\n eth_getTransactionCount: 'eth_getTransactionCount',\n eth_estimateGas: 'eth_estimateGas',\n safe_setSettings: 'safe_setSettings',\n} as const;\n","import { RPC_CALLS } from '../eth/constants.js';\nimport {\n BlockNumberArg,\n RpcCallNames,\n Communicator,\n Log,\n BlockTransactionString,\n BlockTransactionObject,\n Web3TransactionObject,\n RPCPayload,\n TransactionConfig,\n Web3TransactionReceiptObject,\n PastLogsOptions,\n SafeSettings,\n} from '../types/index.js';\nimport { Methods } from '../communication/methods.js';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Formatter = (arg: any) => any;\n\nconst inputFormatters: Record<string, Formatter> = {\n defaultBlockParam: (arg = 'latest') => arg,\n returnFullTxObjectParam: (arg = false): boolean => arg,\n blockNumberToHex: (arg: BlockNumberArg): string =>\n Number.isInteger(arg) ? `0x${arg.toString(16)}` : (arg as string),\n};\n\ntype BuildRequestArgs = {\n call: RpcCallNames;\n formatters?: (Formatter | null)[];\n};\n\nclass Eth {\n public call;\n public getBalance;\n public getCode;\n public getStorageAt;\n public getPastLogs;\n public getBlockByHash;\n public getBlockByNumber;\n public getTransactionByHash;\n public getTransactionReceipt;\n public getTransactionCount;\n public getGasPrice;\n public getEstimateGas;\n public setSafeSettings;\n\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n this.call = this.buildRequest<[TransactionConfig, string?], string>({\n call: RPC_CALLS.eth_call,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getBalance = this.buildRequest<[string, string?], string>({\n call: RPC_CALLS.eth_getBalance,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getCode = this.buildRequest<[string, string?], string>({\n call: RPC_CALLS.eth_getCode,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getStorageAt = this.buildRequest<[string, number, string?], string>({\n call: RPC_CALLS.eth_getStorageAt,\n formatters: [null, inputFormatters.blockNumberToHex, inputFormatters.defaultBlockParam],\n });\n this.getPastLogs = this.buildRequest<[PastLogsOptions], Log[]>({\n call: RPC_CALLS.eth_getLogs,\n });\n this.getBlockByHash = this.buildRequest<[string, boolean?], BlockTransactionString | BlockTransactionObject>({\n call: RPC_CALLS.eth_getBlockByHash,\n formatters: [null, inputFormatters.returnFullTxObjectParam],\n });\n this.getBlockByNumber = this.buildRequest<\n [BlockNumberArg, boolean?],\n BlockTransactionString | BlockTransactionObject\n >({\n call: RPC_CALLS.eth_getBlockByNumber,\n formatters: [inputFormatters.blockNumberToHex, inputFormatters.returnFullTxObjectParam],\n });\n this.getTransactionByHash = this.buildRequest<[string], Web3TransactionObject>({\n call: RPC_CALLS.eth_getTransactionByHash,\n });\n this.getTransactionReceipt = this.buildRequest<[string], Web3TransactionReceiptObject>({\n call: RPC_CALLS.eth_getTransactionReceipt,\n });\n this.getTransactionCount = this.buildRequest<[string, string?], string>({\n call: RPC_CALLS.eth_getTransactionCount,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getGasPrice = this.buildRequest<never[], string>({\n call: RPC_CALLS.eth_gasPrice,\n });\n this.getEstimateGas = (transaction: TransactionConfig): Promise<number> =>\n this.buildRequest<[TransactionConfig], number>({\n call: RPC_CALLS.eth_estimateGas,\n })([transaction]);\n this.setSafeSettings = this.buildRequest<[SafeSettings], SafeSettings>({\n call: RPC_CALLS.safe_setSettings,\n });\n }\n\n private buildRequest<P = never[], R = unknown>(args: BuildRequestArgs) {\n const { call, formatters } = args;\n\n return async (params?: P): Promise<R> => {\n if (formatters && Array.isArray(params)) {\n formatters.forEach((formatter: ((...args: unknown[]) => unknown) | null, i) => {\n if (formatter) {\n params[i] = formatter(params[i]);\n }\n });\n }\n\n const payload: RPCPayload<P> = {\n call,\n params: params || [],\n };\n\n const response = await this.communicator.send<Methods.rpcCall, RPCPayload<P>, R>(Methods.rpcCall, payload);\n\n return response.data;\n };\n }\n}\n\nexport { Eth };\n","import { encodeFunctionData, Address, hashMessage, hashTypedData } from 'viem';\nimport { MAGIC_VALUE_BYTES, MAGIC_VALUE } from './signatures.js';\nimport { Methods } from '../communication/methods.js';\nimport { RPC_CALLS } from '../eth/constants.js';\nimport {\n Communicator,\n ChainInfo,\n SafeBalances,\n GetBalanceParams,\n RPCPayload,\n TransactionConfig,\n EnvironmentInfo,\n AddressBookItem,\n isObjectEIP712TypedData,\n EIP712TypedData,\n SafeInfoExtended,\n} from '../types/index.js';\nimport requirePermission from '../decorators/requirePermissions.js';\n\nclass Safe {\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n }\n\n async getChainInfo(): Promise<ChainInfo> {\n const response = await this.communicator.send<Methods.getChainInfo, undefined, ChainInfo>(\n Methods.getChainInfo,\n undefined,\n );\n\n return response.data;\n }\n\n async getInfo(): Promise<SafeInfoExtended> {\n const response = await this.communicator.send<Methods.getSafeInfo, undefined, SafeInfoExtended>(\n Methods.getSafeInfo,\n undefined,\n );\n\n return response.data;\n }\n\n // There is a possibility that this method will change because we may add pagination to the endpoint\n async experimental_getBalances({ currency = 'usd' }: GetBalanceParams = {}): Promise<SafeBalances> {\n const response = await this.communicator.send<Methods.getSafeBalances, { currency: string }, SafeBalances>(\n Methods.getSafeBalances,\n {\n currency,\n },\n );\n\n return response.data;\n }\n\n private async check1271Signature(messageHash: string, signature = '0x'): Promise<boolean> {\n const safeInfo = await this.getInfo();\n\n const encodedIsValidSignatureCall = encodeFunctionData({\n abi: [\n {\n constant: false,\n inputs: [\n {\n name: '_dataHash',\n type: 'bytes32',\n },\n {\n name: '_signature',\n type: 'bytes',\n },\n ],\n name: 'isValidSignature',\n outputs: [\n {\n name: '',\n type: 'bytes4',\n },\n ],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n ] as const,\n functionName: 'isValidSignature',\n args: [messageHash as Address, signature as Address],\n });\n\n const payload = {\n call: RPC_CALLS.eth_call,\n params: [\n {\n to: safeInfo.safeAddress,\n data: encodedIsValidSignatureCall,\n },\n 'latest',\n ],\n };\n try {\n const response = await this.communicator.send<Methods.rpcCall, RPCPayload<[TransactionConfig, string]>, string>(\n Methods.rpcCall,\n payload,\n );\n\n return response.data.slice(0, 10).toLowerCase() === MAGIC_VALUE;\n } catch (err) {\n return false;\n }\n }\n\n private async check1271SignatureBytes(messageHash: string, signature = '0x'): Promise<boolean> {\n const safeInfo = await this.getInfo();\n\n const encodedIsValidSignatureCall = encodeFunctionData({\n abi: [\n {\n constant: false,\n inputs: [\n {\n name: '_data',\n type: 'bytes',\n },\n {\n name: '_signature',\n type: 'bytes',\n },\n ],\n name: 'isValidSignature',\n outputs: [\n {\n name: '',\n type: 'bytes4',\n },\n ],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n ] as const,\n functionName: 'isValidSignature',\n args: [messageHash as Address, signature as Address],\n });\n\n const payload = {\n call: RPC_CALLS.eth_call,\n params: [\n {\n to: safeInfo.safeAddress,\n data: encodedIsValidSignatureCall,\n },\n 'latest',\n ],\n };\n\n try {\n const response = await this.communicator.send<Methods.rpcCall, RPCPayload<[TransactionConfig, string]>, string>(\n Methods.rpcCall,\n payload,\n );\n\n return response.data.slice(0, 10).toLowerCase() === MAGIC_VALUE_BYTES;\n } catch (err) {\n return false;\n }\n }\n\n calculateMessageHash(message: string): string {\n return hashMessage(message);\n }\n\n calculateTypedMessageHash(typedMessage: EIP712TypedData): string {\n const chainId =\n typeof typedMessage.domain.chainId === 'object'\n ? typedMessage.domain.chainId.toNumber()\n : Number(typedMessage.domain.chainId);\n\n let primaryType = typedMessage.primaryType;\n if (!primaryType) {\n const fields = Object.values(typedMessage.types);\n // We try to infer primaryType (simplified ether's version)\n const primaryTypes = Object.keys(typedMessage.types).filter((typeName) =>\n fields.every((dataTypes) => dataTypes.every(({ type }) => type.replace('[', '').replace(']', '') !== typeName)),\n );\n if (primaryTypes.length === 0 || primaryTypes.length > 1) throw new Error('Please specify primaryType');\n primaryType = primaryTypes[0];\n }\n\n return hashTypedData({\n message: typedMessage.message,\n domain: {\n ...typedMessage.domain,\n chainId,\n verifyingContract: typedMessage.domain.verifyingContract as Address,\n salt: typedMessage.domain.salt as Address,\n },\n types: typedMessage.types,\n primaryType,\n });\n }\n\n async getOffChainSignature(messageHash: string): Promise<string> {\n const response = await this.communicator.send<Methods.getOffChainSignature, string, string>(\n Methods.getOffChainSignature,\n messageHash,\n );\n\n return response.data;\n }\n\n async isMessageSigned(message: string | EIP712TypedData, signature = '0x'): Promise<boolean> {\n let check: (() => Promise<boolean>) | undefined;\n if (typeof message === 'string') {\n check = async (): Promise<boolean> => {\n const messageHash = this.calculateMessageHash(message);\n const messageHashSigned = await this.isMessageHashSigned(messageHash, signature);\n return messageHashSigned;\n };\n }\n\n if (isObjectEIP712TypedData(message)) {\n check = async (): Promise<boolean> => {\n const messageHash = this.calculateTypedMessageHash(message);\n const messageHashSigned = await this.isMessageHashSigned(messageHash, signature);\n return messageHashSigned;\n };\n }\n if (check) {\n const isValid = await check();\n\n return isValid;\n }\n\n throw new Error('Invalid message type');\n }\n\n async isMessageHashSigned(messageHash: string, signature = '0x'): Promise<boolean> {\n const checks = [this.check1271Signature.bind(this), this.check1271SignatureBytes.bind(this)];\n\n for (const check of checks) {\n const isValid = await check(messageHash, signature);\n if (isValid) {\n return true;\n }\n }\n\n return false;\n }\n\n async getEnvironmentInfo(): Promise<EnvironmentInfo> {\n const response = await this.communicator.send<Methods.getEnvironmentInfo, undefined, EnvironmentInfo>(\n Methods.getEnvironmentInfo,\n undefined,\n );\n\n return response.data;\n }\n\n @requirePermission()\n async requestAddressBook(): Promise<AddressBookItem[]> {\n const response = await this.communicator.send<Methods.requestAddressBook, undefined, AddressBookItem[]>(\n Methods.requestAddressBook,\n undefined,\n );\n\n return response.data;\n }\n}\n\nexport { Safe };\n","const MAGIC_VALUE = '0x1626ba7e';\nconst MAGIC_VALUE_BYTES = '0x20c13b0b';\n\nexport { MAGIC_VALUE, MAGIC_VALUE_BYTES };\n","export type Permission = {\n parentCapability: string;\n invoker: string;\n date?: number;\n caveats?: PermissionCaveat[];\n};\n\nexport type PermissionRequest = {\n [method: string]: Record<string, unknown>;\n};\n\nexport type PermissionCaveat = {\n type: string;\n value?: unknown;\n name?: string;\n};\n\nexport const PERMISSIONS_REQUEST_REJECTED = 4001;\n\nexport class PermissionsError extends Error {\n public code: number;\n public data?: unknown;\n\n constructor(message: string, code: number, data?: unknown) {\n super(message);\n\n this.code = code;\n this.data = data;\n\n // Should adjust prototype manually because how TS handles the type extension compilation\n // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, PermissionsError.prototype);\n }\n}\n","import { Methods, RestrictedMethods } from '../communication/methods.js';\nimport { Communicator } from '../types/index.js';\nimport { PermissionRequest, Permission, PermissionsError, PERMISSIONS_REQUEST_REJECTED } from '../types/permissions.js';\n\nclass Wallet {\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n }\n\n async getPermissions(): Promise<Permission[]> {\n const response = await this.communicator.send<Methods.wallet_getPermissions, undefined, Permission[]>(\n Methods.wallet_getPermissions,\n undefined,\n );\n\n return response.data;\n }\n\n async requestPermissions(permissions: PermissionRequest[]): Promise<Permission[]> {\n if (!this.isPermissionRequestValid(permissions)) {\n throw new PermissionsError('Permissions request is invalid', PERMISSIONS_REQUEST_REJECTED);\n }\n\n try {\n const response = await this.communicator.send<\n Methods.wallet_requestPermissions,\n PermissionRequest[],\n Permission[]\n >(Methods.wallet_requestPermissions, permissions);\n\n return response.data;\n } catch {\n throw new PermissionsError('Permissions rejected', PERMISSIONS_REQUEST_REJECTED);\n }\n }\n\n isPermissionRequestValid(permissions: PermissionRequest[]): boolean {\n return permissions.every((pr: PermissionRequest) => {\n if (typeof pr === 'object') {\n return Object.keys(pr).every((method) => {\n if (Object.values(RestrictedMethods).includes(method as RestrictedMethods)) {\n return true;\n }\n\n return false;\n });\n }\n\n return false;\n });\n }\n}\n\nexport { Wallet };\n","import { Methods } from '../communication/index.js';\nimport { Safe } from '../safe/index.js';\nimport { Wallet } from '../wallet/index.js';\n\nimport { Permission, PermissionsError, PERMISSIONS_REQUEST_REJECTED } from '../types/permissions.js';\n\nconst hasPermission = (required: Methods, permissions: Permission[]): boolean =>\n permissions.some((permission) => permission.parentCapability === required);\n\nconst requirePermission = () => (_: unknown, propertyKey: string, descriptor: PropertyDescriptor) => {\n const originalMethod = descriptor.value;\n\n descriptor.value = async function () {\n // @ts-expect-error accessing private property from decorator. 'this' context is the class instance\n const wallet = new Wallet((this as Safe).communicator);\n\n let currentPermissions = await wallet.getPermissions();\n\n if (!hasPermission(propertyKey as Methods, currentPermissions)) {\n currentPermissions = await wallet.requestPermissions([{ [propertyKey as Methods]: {} }]);\n }\n\n if (!hasPermission(propertyKey as Methods, currentPermissions)) {\n throw new PermissionsError('Permissions rejected', PERMISSIONS_REQUEST_REJECTED);\n }\n\n return originalMethod.apply(this);\n };\n\n return descriptor;\n};\n\nexport default requirePermission;\n","import { Communicator } from './types/index.js';\nimport InterfaceCommunicator from './communication/index.js';\nimport { TXs } from './txs/index.js';\nimport { Eth } from './eth/index.js';\nimport { Safe } from './safe/index.js';\nimport { Wallet } from './wallet/index.js';\n\nexport type Opts = {\n allowedDomains?: RegExp[];\n debug?: boolean;\n};\n\nclass SafeAppsSDK {\n private readonly communicator: Communicator;\n public readonly eth: Eth;\n public readonly txs: TXs;\n public readonly safe: Safe;\n public readonly wallet: Wallet;\n\n constructor(opts: Opts = {}) {\n const { allowedDomains = null, debug = false } = opts;\n\n this.communicator = new InterfaceCommunicator(allowedDomains, debug);\n this.eth = new Eth(this.communicator);\n this.txs = new TXs(this.communicator);\n this.safe = new Safe(this.communicator);\n this.wallet = new Wallet(this.communicator);\n }\n}\n\nexport default SafeAppsSDK;\n","import SDK from './sdk.js';\n\nexport default SDK;\nexport * from './sdk.js';\nexport * from './types/index.js';\nexport * from './communication/methods.js';\nexport * from './communication/messageFormatter.js';\nexport { getSDKVersion } from './version.js';\nexport * from './eth/constants.js';\n","import { Icon } from \"@iconify/react\";\nimport { observer } from \"mobx-react-lite\";\nimport React from \"react\";\nimport { RootStore } from \"../../../store\";\nimport { DialogStore } from \"../../../module/Dialog\";\ninterface IProps {\n msg: string,\n hash: string,\n}\n\nconst SuccessTxDialog = observer((props: IProps) => {\n return <div className='flex-col gap-4 py-10'>\n <div className='w-full flex items-center justify-center'>\n <Icon icon=\"icon-park-solid:check-one\" width=\"48\" height=\"48\" className='text-green-500' /></div>\n <div className='text-2xl font-[900] text-center mt-4'>{props.msg}</div>\n <div className='flex items-center justify-center text-green-500 text-sm mt-6 gap-2 cursor-pointer hover:text-green-600 transition'\n onClick={e => window.open(`https://iotexscan.io/tx/${props.hash}`, '_blank')}>View on IoTeXScan <Icon icon=\"material-symbols:chip-extraction-rounded\" width=\"18\" height=\"18\" /></div>\n </div>\n})\nexport const ShowSuccessTxDialog = ({ msg, hash }) => {\n RootStore.Get(DialogStore).setData({\n title: '',\n content: <SuccessTxDialog msg={msg} hash={hash} />,\n isOpen: true,\n })\n}","import { Chain, Wallet, useConnectModal, getDefaultConfig, WalletDetailsParams } from '@rainbow-me/rainbowkit';\nimport { walletConnectWallet, metaMaskWallet, iopayWallet, okxWallet, binanceWallet } from '@rainbow-me/rainbowkit/wallets';\nimport { iotex } from 'viem/chains';\nimport { ObjectPool, Store } from '../..';\n\nexport class WalletConfigStore implements Store {\n sid = 'WalletConfigStore';\n autoObservable = true\n\n appName = 'Dappkit';\n projectId = 'b69e844f38265667350efd78e3e1a5fb'\n // @ts-ignore\n supportedChains: Chain[];\n defaultChainId = 4689;\n updateTicker = 1\n walletUpdateTick = 0;\n isConnect = false;\n // This mode to resolve and walletClient and nextui in some extreme cases cause page infinite redraw bugs\n compatibleMode = true;\n\n constructor(args: Partial<WalletConfigStore>) {\n Object.assign(this, args);\n }\n\n set(params: Partial<WalletConfigStore>) {\n Object.assign(this, params);\n this.updateTicker += 1\n }\n\n get reconnectOnMount() {\n if (!this.compatibleMode)\n return true\n\n if (!this.isConnect && this.walletUpdateTick == 0) {\n return true\n }\n if (!this.isConnect && this.walletUpdateTick != 0) {\n return false\n }\n if (this.isConnect) {\n return true\n }\n }\n\n get rainbowKitConfig() {\n return ObjectPool.get(`rainbowKitConfig-${this.supportedChains?.map(i => i.id).join('-')}`, () => {\n return getDefaultConfig({\n appName: this.appName,\n projectId: this.projectId,\n //@ts-ignore\n chains: this.supportedChains,\n wallets: [{\n groupName: 'Recommended',\n wallets: [iopayWallet, metaMaskWallet],\n },\n {\n groupName: 'Others',\n wallets: [metaMaskWallet, walletConnectWallet, iopayWallet, okxWallet, binanceWallet],\n }]\n });\n });\n }\n}","import { iotex as _iotex, iotexTestnet as _iotexTestnet, type Chain } from \"viem/chains\";\n\nexport type NetworkObject = {\n name: string;\n chainId: number;\n rpcUrl: string;\n logoUrl: string;\n explorerUrl: string;\n explorerName: string;\n nativeCoin: string;\n type: 'mainnet' | 'testnet';\n};\n\nexport type WalletTransactionHistoryType = {\n chainId: number;\n tx?: string;\n msg: string;\n timestamp: number;\n type: string;\n status: 'loading' | 'success' | 'fail';\n};\n\nexport type AddressMode = 'io' | '0x';\n\nexport const iotex = {\n iconUrl: 'https://cdn-dapp-works.s3.us-east-1.amazonaws.com/1dd84d927ae959c508392be62e6eb549.png',\n ..._iotex,\n} as Chain;\nexport const iotexTestnet = {\n iconUrl: 'https://cdn-dapp-works.s3.us-east-1.amazonaws.com/1dd84d927ae959c508392be62e6eb549.png',\n ..._iotexTestnet,\n} as Chain;;","import { Icon } from '@iconify/react';\nimport { Button, Checkbox, Chip, Input, Listbox, ListboxItem, Popover, PopoverContent, PopoverTrigger, Radio, RadioGroup, Table, TableBody, TableCell, TableColumn, TableHeader, TableRow, Tooltip } from '@nextui-org/react';\nimport { observer, useLocalObservable } from 'mobx-react-lite';\nimport React from 'react';\nimport { useEffect } from 'react';\nimport { RootStore } from \"../../../store\";\nimport { WalletStore } from \"..\";\nimport { WalletRpcStore } from '../walletPluginStore';\nimport { ToastPlugin } from '../../Toast/Toast';\n\n\nconst RpcList = observer(() => {\n const wallet = RootStore.Get(WalletStore)\n const rpcStore = RootStore.Get(WalletRpcStore)\n useEffect(() => {\n rpcStore.testRpc()\n }, [])\n\n return (\n <div className='mb-3 mt-4'>\n <div className='w-full flex mb-2 mt-2'>\n <div className='flex items-center justify-center gap-2'>\n <Checkbox size='sm' isSelected={rpcStore.isAutoSelectRpc.value} onValueChange={e => rpcStore.isAutoSelectRpc.save(e)}>Auto select rpc</Checkbox>\n <Tooltip content={<div className='w-[300px]'>Once selected, if the current RPC cannot send a request, an available RPC will be automatically chosen.</div>}>\n <Icon icon=\"ph:question\" width=\"18\" height=\"18\" className='text-gray-500' />\n </Tooltip>\n </div>\n\n <Button startContent={<Icon icon=\"tabler:test-pipe\" width=\"18\" height=\"18\" />} className='ml-auto' onClick={e => {\n rpcStore.testRpc()\n }}>Test</Button>\n <Popover placement=\"bottom\" offset={20} showArrow isOpen={rpcStore.showCustomRpc} onOpenChange={(open) => rpcStore.showCustomRpc = (open)}>\n <PopoverTrigger>\n <Button color=\"primary\" startContent={<Icon icon=\"basil:add-solid\" width=\"18\" height=\"18\" />} className='ml-4'>Add custom rpc</Button>\n </PopoverTrigger>\n <PopoverContent>\n <div className=\"px-1 py-2\">\n <Input\n type=\"url\"\n className='mb-4'\n placeholder=\"https://rpc.com\"\n value={rpcStore.customRpc}\n onValueChange={(value) => {\n rpcStore.customRpc = value;\n }}\n />\n <Button color='primary' isDisabled={!rpcStore.customRpc} onClick={e => rpcStore.addCustomRpc()}>Save</Button>\n </div>\n </PopoverContent>\n </Popover>\n\n </div>\n\n <Table\n color=\"success\"\n selectionMode=\"single\"\n defaultSelectedKeys={[rpcStore.curRpc.value]}\n aria-label=\"Example static collection table\"\n >\n <TableHeader>\n <TableColumn>RPC Server Address</TableColumn>\n <TableColumn align='center'>Score</TableColumn>\n <TableColumn align='center'>Height</TableColumn>\n <TableColumn align='center'>Latency</TableColumn>\n <TableColumn align='center'>Action</TableColumn>\n </TableHeader>\n <TableBody >\n {\n rpcStore.rpcList?.value?.map((item, index) => {\n return <TableRow className='cursor-pointer' key={item.name} onClick={e => {\n rpcStore.curRpc.save(item.name)\n RootStore.Get(ToastPlugin).success('Set rpc success')\n }} >\n <TableCell >{item.name}</TableCell>\n <TableCell >{rpcStore.scoreIcon(item.latency)}</TableCell>\n <TableCell>{item.height}</TableCell>\n <TableCell className={rpcStore.latencyColor(item.latency)}>{item.latency}s</TableCell>\n <TableCell>\n <div className=\"relative flex items-center gap-2\">\n <Tooltip content=\"Add to metamask\">\n <span className=\"text-lg text-danger cursor-pointer active:opacity-50\" onClick={e => {\n e.stopPropagation()\n rpcStore.addToMetamask(item.name)\n }}>\n <Icon icon=\"logos:metamask-icon\" width=\"18\" height=\"18\" />\n </span>\n </Tooltip>\n {\n item.custom && <Tooltip content=\"Remove\">\n <span className=\"text-lg text-danger cursor-pointer active:opacity-50\" onClick={e => {\n e.stopPropagation()\n rpcStore.removeRpc(item.name)\n }}>\n <Icon icon=\"solar:trash-bin-minimalistic-broken\" width=\"20\" height=\"20\" />\n </span>\n </Tooltip>\n }\n </div>\n </TableCell>\n </TableRow>\n })\n }\n </TableBody>\n </Table>\n </div>\n );\n});\n\nexport { RpcList };\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/utils.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/endpoint.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/config.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/safe-info.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/safe-apps.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/transactions.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/chains.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/common.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/master-copies.js","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/decoded-data.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/safe-messages.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/types/notifications.ts","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/dist/types/relay.js","../../../node_modules/@safe-global/safe-gateway-typescript-sdk/src/index.ts","../module/Wallet/provider.tsx","../module/Wallet/index.tsx","../module/Wallet/walletPluginStore.tsx","../../../node_modules/@safe-global/safe-apps-sdk/src/version.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/utils.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/messageFormatter.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/methods.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/communication/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/types/sdk.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/types/gateway.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/txs/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/eth/constants.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/eth/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/safe/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/safe/signatures.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/types/permissions.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/wallet/index.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/decorators/requirePermissions.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/sdk.ts","../../../node_modules/@safe-global/safe-apps-sdk/src/index.ts","../module/Wallet/SuccessTxDialog/index.tsx","../module/Wallet/walletConfigStore.ts","../module/Wallet/type.ts","../module/Wallet/RpcList/index.tsx"],"names":["ImplementationVersionState","SafeAppAccessPolicyTypes","SafeAppFeatures","SafeAppSocialPlatforms","Operation","TransactionStatus","TransferDirection","TransactionTokenType","SettingsInfoType","TransactionInfoType","ConflictType","TransactionListItemType","DetailedExecutionInfoType","DurationType","StartTimeValue","LabelValue","RPC_AUTHENTICATION","GAS_PRICE_TYPE","FEATURES","TokenType","ConfirmationViewTypes","SafeMessageListItemType","SafeMessageStatus","DeviceType","React","useEffect","useReconnect","useConnectModal","Methods","RestrictedMethods","Icon","_a","observer"],"mappings":"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","sourcesContent":[null,null,null,null,null,null,null,null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=master-copies.js.map",null,null,null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=relay.js.map",null,"import { RainbowKitProvider, darkTheme, lightTheme } from '@rainbow-me/rainbowkit';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport React, { useEffect, useState } from 'react';\nimport { useReconnect, WagmiProvider } from 'wagmi';\nimport { RootStore } from \"../../store\";\nimport { WalletStore } from '.';\nimport { WalletConfigStore } from './walletConfigStore'\nimport { reaction } from 'mobx';\nimport { type Chain } from \"viem/chains\";\nimport { iotex } from './type';\nimport { useRouter } from 'next/router';\n\nconst queryClient = new QueryClient();\nexport const WalletProvider = (({\n children,\n theme,\n appName,\n supportedChains,\n compatibleMode = true,\n router\n}: {\n children: React.ReactNode,\n theme?: 'dark' | 'light',\n appName?: string,\n supportedChains?: Chain[],\n compatibleMode?: boolean,\n router?: any\n}) => {\n //@ts-ignore\n const walletConfig = RootStore.Get(WalletConfigStore, { args: { supportedChains: supportedChains ?? [iotex] } });\n\n const [config, setConfig] = useState(walletConfig.rainbowKitConfig)\n\n useEffect(() => {\n const disposer = reaction(\n () => walletConfig.updateTicker,\n () => {\n setConfig(walletConfig.rainbowKitConfig)\n }\n )\n return () => disposer()\n })\n\n useEffect(() => {\n if (appName) {\n walletConfig.appName = appName\n }\n if (compatibleMode != undefined) {\n walletConfig.compatibleMode = compatibleMode\n }\n }, [appName, compatibleMode])\n return (\n //@ts-ignore\n <WagmiProvider config={config} reconnectOnMount={compatibleMode ? false : true}>\n <QueryClientProvider client={queryClient} >\n <RainbowKitProvider locale=\"en\" theme={theme == 'dark' ? darkTheme() : lightTheme()}>\n {/* @ts-ignore */}\n {children}\n <WalletConnect compatibleMode={compatibleMode} router={router} />\n </RainbowKitProvider>\n </QueryClientProvider>\n </WagmiProvider>\n );\n});\n\nexport const WalletConnect = ({ compatibleMode = true, router }) => {\n const { reconnect } = useReconnect()\n const wallet = RootStore.Get(WalletStore);\n wallet.use();\n\n if (router && compatibleMode) {\n useEffect(() => {\n if (!wallet.account) {\n reconnect()\n }\n }, [router])\n }\n\n return <></>;\n};\n","import React, { useEffect } from \"react\";\nimport { Store } from \"../../store/standard/base\";\nimport { Account, PublicClient, type HttpTransport, WalletClient, TransactionReceipt } from \"viem\";\nimport { PromiseHook } from '../../store/standard/PromiseHook';\nimport { BigNumberState } from '../../store/standard/BigNumberState';\nimport BigNumber from 'bignumber.js';\nimport { AddressMode, WalletTransactionHistoryType } from \"./type\";\nimport EventEmitter from \"events\";\nimport { SwitchChainMutate } from \"wagmi/query\";\nimport { Config, useAccount, useConnect, useDisconnect, useReconnect, useSwitchChain, useWalletClient, } from \"wagmi\";\nimport { Chain, useConnectModal, WalletDetailsParams } from '@rainbow-me/rainbowkit';\nimport { RootStore } from \"../../store\";\nimport { ToastPlugin } from \"../Toast/Toast\";\nimport { http, createPublicClient } from 'viem';\nimport { WalletHistoryStore, WalletRpcStore } from './walletPluginStore';\nimport SafeAppsSDK, { TransactionStatus } from '@safe-global/safe-apps-sdk';\nimport { ShowSuccessTxDialog } from './SuccessTxDialog'\nimport { WalletConfigStore } from \"./walletConfigStore\";\nimport { AIem } from \"../../aiem\";\nimport { helper } from \"../../lib/helper\";\n\nexport class WalletStore implements Store {\n sid = 'wallet';\n autoObservable = true;\n account: `0x${string}` = null;\n isSuccessDialogOpen = false;\n isInSafeApp = false;\n isConnect = false;\n walletClient: WalletClient;\n event = new EventEmitter();\n switchChain: SwitchChainMutate<Config, unknown> | undefined;\n updateTicker = 0;\n addressMode: AddressMode = '0x';\n get isIoTeXChain(): boolean {\n if (this.chain && this.chain.id == 4689) {\n return true\n }\n return false\n }\n setAddressMode(mode: AddressMode) {\n this.addressMode = mode;\n localStorage.setItem('addressMode', mode);\n }\n get accountFormat() {\n return this.account ? helper.address.convertAddress(this.addressMode, this.account) : '-';\n }\n get connectAccountEllipsisFormat() {\n return this.account ? helper.string.truncate(helper.address.convertAddress(this.addressMode, this.account), 11, '...') : '-';\n }\n get accountEllipsisFormat() {\n return this.account ? helper.string.truncate(helper.address.convertAddress(this.addressMode, this.account), 16, '...') : '-';\n }\n get supportedChains() {\n return RootStore.Get(WalletConfigStore).supportedChains\n }\n chain: Chain | undefined;\n openConnectModal: any;\n disconnect: any;\n balance = PromiseHook.wrap({\n func: async () => {\n if (!this.publicClient || !this.account) return helper.number.warpBigNumber('0');\n const balance = await this.publicClient.getBalance({\n address: this.account,\n });\n if (balance) {\n return helper.number.warpBigNumber(balance?.toString() ?? '0');\n }\n },\n });\n\n constructor(args?: Partial<WalletStore>) {\n Object.assign(this, args);\n }\n\n use(router?: any) {\n const { data: walletClient, isSuccess } = useWalletClient();\n const { chain, address, isConnected } = useAccount();\n\n const { switchChain } = useSwitchChain();\n const { openConnectModal } = useConnectModal();\n const { connect } = useConnect();\n const { disconnect } = useDisconnect();\n const walletConfigStore = RootStore.Get(WalletConfigStore);\n this.set({\n //@ts-ignore\n connect,\n // @ts-ignore \n walletClient,\n openConnectModal,\n switchChain,\n disconnect\n })\n\n useEffect(() => {\n RootStore.Get(WalletHistoryStore).set({ isRender: true })\n this.set({\n isConnect: isConnected,\n account: address,\n // @ts-ignore \n chain,\n })\n walletConfigStore.set({\n isConnect: isConnected,\n })\n if (this.account) {\n this.updateTicker++;\n walletConfigStore.set({\n walletUpdateTick: this.updateTicker,\n })\n this.event.emit('walletAccount:ready');\n }\n }, [address, isConnected, chain])\n\n\n\n useEffect(() => {\n setTimeout(() => {\n this.balance.call()\n }, 1500)\n }, [this.updateTicker])\n }\n\n //always return or return default chain\n get publicClient(): PublicClient<HttpTransport, Chain, any, any> {\n if (this.chain && this.supportedChains.some(i => i.id === this.chain.id)) {\n if (this.chain.id == 4689) {\n return AIem.PubClient('4689', { rpcUrls: { default: { http: [RootStore.Get(WalletRpcStore).curRpc.value] } }, multicall: true })\n }\n return AIem.PubClient(this.chain.id.toString())\n } else {\n return AIem.PubClient('4689')\n }\n }\n\n set(args: Partial<WalletStore>) {\n Object.assign(this, args);\n }\n\n toJSON() {\n const { account } = this;\n return { account };\n }\n\n async prepare(chainId?: number): Promise<WalletStore> {\n return new Promise<WalletStore>(async (res, rej) => {\n try {\n if (this.account) {\n if (!chainId) {\n res(this);\n }\n if (Number(this.chain?.id) == Number(chainId)) {\n console.log('has and return ')\n res(this);\n }\n this.switchChain?.({ chainId: chainId ?? 4689 });\n const interval = setInterval(() => {\n if (this.switchChain) {\n if (this.chain?.id == chainId) {\n try {\n // //@ts-ignore\n // const provider = new ethers.providers.Web3Provider(window?.ethereum);\n // this.signer = provider.getSigner();\n res(this);\n } catch (error) {\n }\n clearInterval(interval);\n }\n }\n }, 1000);\n } else {\n this.openConnectModal();\n // this.connect?.({ chainId, connector: this.rainbowkitParams.connectors()[0] }) connect success but ui not change so\n const interval = setInterval(() => {\n if (this.account) {\n clearInterval(interval);\n res(this);\n }\n }, 1000);\n }\n } catch (error) {\n rej(error);\n }\n });\n }\n\n\n async waitForTransactionReceipt({ hash }) {\n // https://github.com/wevm/wagmi/discussions/3463#discussioncomment-8139187\n if (this.isInSafeApp) {\n // console.log('isInSafeApp', this.isInSafeApp);\n const sdk = new SafeAppsSDK();\n while (true) {\n const queued = await sdk.txs.getBySafeTxHash(hash);\n if (queued.txStatus === TransactionStatus.AWAITING_CONFIRMATIONS || queued.txStatus === TransactionStatus.AWAITING_EXECUTION || queued.txStatus === TransactionStatus.CANCELLED) {\n await new Promise((resolve) => setTimeout(resolve, 2000));\n } else {\n return this.publicClient.waitForTransactionReceipt({ hash: queued.txHash! as `0x${string}` });\n }\n }\n } else {\n return this.publicClient.waitForTransactionReceipt({ hash });\n }\n }\n\n static async SendTx(...args: Parameters<WalletStore['sendTx']>) {\n return RootStore.Get(WalletStore).sendTx(...args);\n }\n static async SendRawTx(...args: Parameters<WalletStore['sendRawTx']>) {\n return RootStore.Get(WalletStore).sendRawTx(...args);\n }\n async sendTx({\n chainId,\n tx,\n autoAlert = true,\n loadingText,\n successText,\n onError,\n historyItem,\n showSuccessDialog = false,\n }: {\n chainId: number | string;\n tx: any;\n autoAlert?: boolean;\n loadingText?: string;\n successText?: string;\n showSuccessDialog?: boolean;\n historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;\n onError?: (error: any) => void;\n }) {\n const toast = RootStore.Get(ToastPlugin);\n let hash;\n const historyStore = RootStore.Get(WalletHistoryStore)\n try {\n if (loadingText) toast.loading(loadingText);\n if (!chainId) throw new Error('chainId, address, data is required');\n await RootStore.Get(WalletStore).prepare(Number(chainId));\n hash = await tx();\n if (historyItem) {\n historyStore.recordHistory({ ...historyItem, tx: hash, timestamp: Date.now(), status: 'loading', chainId: Number(chainId) });\n }\n const receipt = await this.waitForTransactionReceipt({ hash });\n if (receipt.status == 'success') {\n toast.dismiss();\n toast.success('The transaction was successful');\n if (historyItem) {\n if (showSuccessDialog) {\n ShowSuccessTxDialog({ msg: historyItem.msg, hash: hash });\n }\n historyStore.updateHistoryStatusByTx(hash, 'success');\n }\n } else {\n toast.dismiss();\n toast.error('The transaction failed');\n historyStore.updateHistoryStatusByTx(hash, 'fail');\n }\n if (successText) toast.success(successText);\n this.updateTicker++;\n return receipt;\n } catch (error) {\n console.log(error);\n toast.dismiss();\n if (autoAlert) {\n const msg = /reason=\"[A-Za-z0-9_ :\"]*/g.exec(error?.message);\n console.log('sendTx', error?.message);\n if (error?.message?.includes('user rejected transaction') || String(error).toLowerCase().includes('user rejected') || String(error).toLowerCase().includes('user denied')) {\n toast.error('user rejected transaction');\n onError?.(error);\n return;\n }\n if (error?.message?.includes('The Transaction may not be processed on a block yet') || error?.message?.includes('could not be found')) {\n if (historyItem) {\n historyStore.updateHistoryStatusByTx(hash, 'success');\n }\n toast.success('The transaction was successful');\n return;\n }\n\n if (msg) {\n toast.error(msg as unknown as string);\n onError?.(msg);\n } else {\n if (error?.message.includes('viem')) {\n const messageArr = error?.message.split('\\n');\n console.log('messageArr---', messageArr);\n if (messageArr.length > 0) {\n toast.error(messageArr[0]);\n onError?.(messageArr[0]);\n }\n } else {\n toast.error(String(error?.message || error));\n onError?.(String(error?.message || error));\n }\n }\n } else {\n throw error;\n }\n }\n }\n async sendRawTx({\n chainId,\n address,\n data,\n value = '0',\n autoAlert = true,\n onSended,\n onSuccess,\n onError,\n historyItem,\n loadingText,\n showSuccessDialog = false,\n }: {\n loadingText?: string;\n chainId: number | string;\n address: string;\n data: string | null;\n value?: string;\n autoRefresh?: boolean;\n autoAlert?: boolean;\n historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;\n showTransactionSubmitDialog?: boolean;\n showSuccessDialog?: boolean;\n onSended?: ({ res }: { res: TransactionReceipt }) => void;\n onSuccess?: ({ res }: { res: TransactionReceipt }) => void;\n onError?: ({ res }: { res: TransactionReceipt }) => void;\n }): Promise<TransactionReceipt | undefined> {\n chainId = Number(chainId);\n const toast = RootStore.Get(ToastPlugin);\n try {\n if (!chainId || !address) throw new Error('chainId, address, is required');\n await RootStore.Get(WalletStore).prepare(chainId);\n if (loadingText) toast.loading(loadingText);\n const historyStore = RootStore.Get(WalletHistoryStore)\n // @ts-ignore\n const hash = await this.walletClient.sendTransaction({\n account: this.account,\n to: address as `0x${string}`,\n data: data as `0x${string}`,\n value: value ? BigInt(value) : undefined,\n });\n // console.log(hash)\n let receipt = await this.waitForTransactionReceipt({ hash });\n console.log(receipt);\n if (historyItem) {\n historyStore.recordHistory({ ...historyItem, tx: receipt.transactionHash, timestamp: Date.now(), status: 'loading', chainId: Number(chainId) });\n }\n onSended ? onSended({ res: receipt }) : null;\n if (receipt.status == 'success') {\n if (historyItem) {\n if (showSuccessDialog) {\n ShowSuccessTxDialog({ msg: historyItem.msg, hash: hash });\n }\n historyStore.updateHistoryStatusByTx(receipt.transactionHash, 'success');\n }\n onSuccess && onSuccess({ res: receipt });\n toast.dismiss();\n toast.success('The transaction was successful');\n } else {\n if (historyItem) {\n historyStore.updateHistoryStatusByTx(receipt.transactionHash, 'fail');\n }\n onError && onError({ res: receipt });\n toast.dismiss();\n toast.error('The transaction failed');\n }\n return receipt;\n } catch (error) {\n toast.dismiss();\n console.log(error.message);\n const msg = /reason=\"[A-Za-z0-9_ :\"]*/g.exec(error?.message);\n // Details: Transaction was rejected\n if (error?.message?.includes('user rejected transaction') || error?.message?.includes('cancel') || String(error).toLowerCase().includes('user rejected') || String(error).toLowerCase().includes('user denied')) {\n autoAlert && toast.error('user rejected transaction');\n return;\n }\n if (error?.message?.includes('Price slippage check')) {\n autoAlert && toast.error('The latest pool price has changed, please try to increase the slippage tolerance or reload the page.');\n return;\n }\n if (error?.message.includes('viem')) {\n const messageArr = error?.message.split('\\n');\n console.log('messageArr---', messageArr);\n if (messageArr.length > 0) {\n toast.error(messageArr[0]);\n onError?.(messageArr[0]);\n return;\n }\n }\n\n if (msg) {\n autoAlert && toast.error(msg as unknown as string);\n } else {\n autoAlert && toast.error(String(error.message));\n }\n if (!autoAlert) {\n throw error;\n }\n }\n }\n}","import React from 'react';\nimport { Icon } from \"@iconify/react\";\nimport { RootStore } from \"../../store\";\nimport { Store } from \"../../store/standard/base\";\nimport { StorageState } from '../../store/standard/StorageState';\nimport { ToastPlugin } from \"../Toast/Toast\";\nimport { WalletTransactionHistoryType } from \"./type\";\nimport { WalletStore } from \".\";\nimport { helper } from \"../../lib/helper\";\n\nconst defaultRPCList = [\n { name: 'https://babel-api.fastblocks.io', latency: 0, height: 0, custom: false },\n { name: 'https://babel-api.mainnet.iotex.one', latency: 0, height: 0, },\n { name: 'https://babel-api.mainnet.iotex.io', latency: 0, height: 0, },\n { name: 'https://iotex-network.rpc.thirdweb.com', latency: 0, height: 0, },\n { name: 'https://iotexrpc.com', latency: 0, height: 0, },\n { name: 'https://iotex.api.onfinality.io/public', latency: 0, height: 0, },\n { name: 'https://rpc.ankr.com/iotex', latency: 0, height: 0, },\n]\nexport class WalletRpcStore implements Store {\n sid = 'WalletPluginStore';\n autoObservable = true\n curRpc = new StorageState({ default: 'https://babel-api.mainnet.iotex.one', key: 'curRPC-v2', value: 'https://babel-api.mainnet.iotex.one' });\n isAutoSelectRpc = new StorageState({ key: 'isAutoSelectRpc', default: true });\n customRpc = '';\n rpcList = new StorageState({ key: 'customRpcList-v2', default: defaultRPCList, value: [] })\n showCustomRpc = false;\n get currentRpc() {\n console.log(this.rpcList.value?.find(i => i.name == this.curRpc))\n return this.rpcList.value?.find(i => i.name == this.curRpc.value) || null\n }\n addCustomRpc() {\n const item = { name: this.customRpc, latency: 0, height: 0, custom: true }\n if (defaultRPCList.find(i => i.name === item.name)) {\n return RootStore.Get(ToastPlugin).error('Rpc already exists')\n }\n if (this.rpcList.value) {\n this.rpcList.save([...this.rpcList.value, item])\n this.refresh()\n return\n }\n this.rpcList.save([...defaultRPCList, item])\n this.refresh()\n }\n async addToMetamask(url) {\n try {\n if (typeof window == 'undefined') return;\n await window?.ethereum?.request({\n method: 'wallet_addEthereumChain',\n params: [{\n chainId: `0x${(4689).toString(16)}`,\n chainName: 'IoTeX Mainnet',\n nativeCurrency: {\n name: 'IoTeX',\n symbol: 'IOTX',\n decimals: 18,\n },\n rpcUrls: [url],\n blockExplorerUrls: ['https://iotexscan.io'],\n }]\n });\n RootStore.Get(ToastPlugin).success('Network added');\n console.log('Network added');\n } catch (error) {\n console.error('Failed to add network', error);\n }\n }\n refresh() {\n this.showCustomRpc = false\n this.customRpc = ''\n setTimeout(() => {\n this.testRpc()\n }, 500)\n }\n latencyColor(latency: number) {\n if (latency < 0) {\n return 'text-red-500'\n }\n if (latency < 1) {\n return 'text-green-500'\n }\n if (latency < 2) {\n return 'text-yellow-500'\n }\n return 'text-red-500'\n }\n async testRpcFunction(url: string): Promise<{ url: string, lentency: number, height: number }> {\n const start = performance.now();\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n method: 'eth_getBlockByNumber',\n params: [\"latest\", false],\n id: 1,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Error from server: ${response.status}`);\n }\n const res = await response.json();\n console.log(res)\n const end = performance.now();\n return { url, lentency: Number(helper.number.numberFormat(((end - start) / 1000), '0.000', { fallback: '-1' })), height: parseInt(res.result.number, 16) };\n } catch (error) {\n console.error('RPC Latency Test Failed:', error);\n return { url, lentency: -1, height: -1 };\n }\n }\n testRpc() {\n this.rpcList?.value.forEach(i => {\n this.testRpcFunction(i.name).then(res => {\n i.latency = res.lentency\n i.height = res.height\n })\n })\n this.rpcList.save(this.rpcList.value)\n }\n removeRpc(name: string) {\n this.rpcList.save(this.rpcList.value.filter(i => i.name !== name))\n }\n scoreIcon(score: number) {\n if (score < 0) {\n return <Icon icon=\"codicon:error\" width=\"18\" height=\"18\" style={{ color: \"#FF0000\" }} />\n }\n if (score < 1) {\n return <Icon icon=\"icon-park-solid:check-one\" width=\"18\" height=\"18\" style={{ color: \"#289726\" }} />\n }\n if (score < 2) {\n return <Icon icon=\"bxs:error\" width=\"18\" height=\"18\" style={{ color: \"#FFA500\" }} />\n }\n return <Icon icon=\"codicon:error\" width=\"18\" height=\"18\" style={{ color: \"#FF0000\" }} />\n }\n get wallet() {\n return RootStore.Get(WalletStore)\n }\n // debounceAutoSelectRpc = pDebounce(this.autoSelectRpc, 3000)\n async autoSelectRpc() {\n console.log('autoSelectRpc')\n for (let i = 0; i < this.rpcList.value.length; i++) {\n const item = this.rpcList.value[i]\n const res = await this.testRpcFunction(item.name)\n if (res.lentency != -1 || res.height > 0) {\n this.curRpc.save(item.name)\n break;\n }\n }\n }\n}\n\nexport class WalletHistoryStore implements Store {\n sid = 'WalletHistoryStore';\n isRender = false\n autoObservable = true\n set(params: Partial<WalletHistoryStore>) {\n Object.assign(this, params);\n }\n private history = new StorageState<WalletTransactionHistoryType[] | null>({ value: [], key: 'history' });\n get historyList(): WalletTransactionHistoryType[] {\n if (this.isRender) {\n return this.history.value\n }\n return []\n }\n recordHistory(item: WalletTransactionHistoryType) {\n let value: WalletTransactionHistoryType[] | null = this.history.load();\n if (!value) {\n value = [item];\n } else {\n value = [...value, item];\n }\n this.history.setValue(value);\n }\n updateHistoryStatusByTx(tx: string | null, status: 'loading' | 'success' | 'fail') {\n let value: WalletTransactionHistoryType[] | null = this.history.load();\n if (!value) {\n return;\n }\n value = value.map((i) => {\n if (i.tx == tx) {\n i.status = status;\n return i;\n }\n if (!tx) {\n i.status = status;\n }\n return i;\n });\n this.history.setValue(value);\n }\n clearHistory() {\n this.history.setValue(null);\n }\n}\n","export const getSDKVersion = () => '9.1.0';\n","// i.e. 0-255 -> '00'-'ff'\nconst dec2hex = (dec: number): string => dec.toString(16).padStart(2, '0');\n\nconst generateId = (len: number): string => {\n const arr = new Uint8Array((len || 40) / 2);\n window.crypto.getRandomValues(arr);\n return Array.from(arr, dec2hex).join('');\n};\n\nconst generateRequestId = (): string => {\n if (typeof window !== 'undefined') {\n return generateId(10);\n }\n\n return new Date().getTime().toString(36);\n};\n\nexport { generateRequestId };\n","import { ErrorResponse, SDKRequestData, RequestId, SuccessResponse, MethodToResponse } from '../types/index.js';\nimport { getSDKVersion } from '../version.js';\nimport { Methods } from './methods.js';\nimport { generateRequestId } from './utils.js';\n\nclass MessageFormatter {\n static makeRequest = <M extends Methods = Methods, P = unknown>(method: M, params: P): SDKRequestData<M, P> => {\n const id = generateRequestId();\n\n return {\n id,\n method,\n params,\n env: {\n sdkVersion: getSDKVersion(),\n },\n };\n };\n\n static makeResponse = (id: RequestId, data: MethodToResponse[Methods], version: string): SuccessResponse => ({\n id,\n success: true,\n version,\n data,\n });\n\n static makeErrorResponse = (id: RequestId, error: string, version: string): ErrorResponse => ({\n id,\n success: false,\n error,\n version,\n });\n}\n\nexport { MessageFormatter };\n","export enum Methods {\n sendTransactions = 'sendTransactions',\n rpcCall = 'rpcCall',\n getChainInfo = 'getChainInfo',\n getSafeInfo = 'getSafeInfo',\n getTxBySafeTxHash = 'getTxBySafeTxHash',\n getSafeBalances = 'getSafeBalances',\n signMessage = 'signMessage',\n signTypedMessage = 'signTypedMessage',\n getEnvironmentInfo = 'getEnvironmentInfo',\n getOffChainSignature = 'getOffChainSignature',\n requestAddressBook = 'requestAddressBook',\n wallet_getPermissions = 'wallet_getPermissions',\n wallet_requestPermissions = 'wallet_requestPermissions',\n}\n\nexport enum RestrictedMethods {\n requestAddressBook = 'requestAddressBook',\n}\n","import { MessageFormatter } from './messageFormatter.js';\nimport { Methods } from './methods.js';\nimport { InterfaceMessageEvent, Communicator, Response, SuccessResponse } from '../types/index.js';\n\n// eslint-disable-next-line\ntype Callback = (response: any) => void;\n\nclass PostMessageCommunicator implements Communicator {\n private readonly allowedOrigins: RegExp[] | null = null;\n private callbacks = new Map<string, Callback>();\n private debugMode = false;\n private isServer = typeof window === 'undefined';\n\n constructor(allowedOrigins: RegExp[] | null = null, debugMode = false) {\n this.allowedOrigins = allowedOrigins;\n this.debugMode = debugMode;\n\n if (!this.isServer) {\n window.addEventListener('message', this.onParentMessage);\n }\n }\n\n private isValidMessage = ({ origin, data, source }: InterfaceMessageEvent): boolean => {\n const emptyOrMalformed = !data;\n const sentFromParentEl = !this.isServer && source === window.parent;\n const majorVersionNumber = typeof data.version !== 'undefined' && parseInt(data.version.split('.')[0]);\n const allowedSDKVersion = typeof majorVersionNumber === 'number' && majorVersionNumber >= 1;\n let validOrigin = true;\n if (Array.isArray(this.allowedOrigins)) {\n validOrigin = this.allowedOrigins.find((regExp) => regExp.test(origin)) !== undefined;\n }\n\n return !emptyOrMalformed && sentFromParentEl && allowedSDKVersion && validOrigin;\n };\n\n private logIncomingMessage = (msg: InterfaceMessageEvent): void => {\n console.info(`Safe Apps SDK v1: A message was received from origin ${msg.origin}. `, msg.data);\n };\n\n private onParentMessage = (msg: InterfaceMessageEvent): void => {\n if (this.isValidMessage(msg)) {\n this.debugMode && this.logIncomingMessage(msg);\n this.handleIncomingMessage(msg.data);\n }\n };\n\n private handleIncomingMessage = (payload: InterfaceMessageEvent['data']): void => {\n const { id } = payload;\n\n const cb = this.callbacks.get(id);\n if (cb) {\n cb(payload);\n\n this.callbacks.delete(id);\n }\n };\n\n public send = <M extends Methods, P, R>(method: M, params: P): Promise<SuccessResponse<R>> => {\n const request = MessageFormatter.makeRequest(method, params);\n\n if (this.isServer) {\n throw new Error(\"Window doesn't exist\");\n }\n\n window.parent.postMessage(request, '*');\n return new Promise((resolve, reject) => {\n this.callbacks.set(request.id, (response: Response<R>) => {\n if (!response.success) {\n reject(new Error(response.error));\n return;\n }\n\n resolve(response);\n });\n });\n };\n}\n\nexport default PostMessageCommunicator;\nexport * from './methods.js';\n","import { ChainInfo as _ChainInfo } from '@safe-global/safe-gateway-typescript-sdk';\n\nexport type ChainInfo = Pick<\n _ChainInfo,\n 'chainName' | 'chainId' | 'shortName' | 'nativeCurrency' | 'blockExplorerUriTemplate'\n>;\n\nexport { NativeCurrency } from '@safe-global/safe-gateway-typescript-sdk';\n\nexport type BaseTransaction = {\n to: string;\n value: string;\n data: string;\n};\n\nexport type GetTxBySafeTxHashParams = {\n safeTxHash: string;\n};\n\nexport interface SendTransactionRequestParams {\n safeTxGas?: number;\n}\n\nexport interface SendTransactionsParams {\n txs: BaseTransaction[];\n params?: SendTransactionRequestParams;\n}\n\nexport type GetBalanceParams = { currency?: string };\n\nexport type SignMessageParams = {\n message: string;\n};\n\nexport interface TypedDataDomain {\n name?: string;\n version?: string;\n chainId?: string | number | bigint | { toNumber: () => number };\n verifyingContract?: string;\n salt?: string;\n}\n\nexport interface TypedDataTypes {\n name: string;\n type: string;\n}\n\nexport type TypedMessageTypes = { [key: string]: TypedDataTypes[] };\n\nexport type EIP712TypedData = {\n domain: TypedDataDomain;\n types: TypedMessageTypes;\n message: Record<string, any>;\n primaryType?: string;\n};\n\nexport type SignTypedMessageParams = {\n typedData: EIP712TypedData;\n};\n\nexport type SendTransactionsResponse = {\n safeTxHash: string;\n};\n\nexport type OffChainSignMessageResponse = {\n messageHash: string;\n};\n\nexport type SignMessageResponse = SendTransactionsResponse | OffChainSignMessageResponse;\n\nexport type SafeInfo = {\n safeAddress: string;\n chainId: number;\n threshold: number;\n owners: string[];\n isReadOnly: boolean;\n};\n\nexport type SafeInfoExtended = SafeInfo & {\n nonce: number;\n implementation: string;\n modules: string[] | null;\n fallbackHandler: string | null;\n guard: string | null;\n version: string | null;\n};\n\nexport type EnvironmentInfo = {\n origin: string;\n};\n\nexport type PostMessageOptions = {\n transfer?: any[];\n};\n\nexport type AddressBookItem = {\n address: string;\n chainId: string;\n name: string;\n};\n\nexport const isObjectEIP712TypedData = (obj?: unknown): obj is EIP712TypedData => {\n return typeof obj === 'object' && obj != null && 'domain' in obj && 'types' in obj && 'message' in obj;\n};\n","import { SafeBalanceResponse, TransactionDetails, TokenInfo } from '@safe-global/safe-gateway-typescript-sdk';\n\nexport {\n AddOwner,\n ChangeImplementation,\n ChangeThreshold,\n Creation,\n Custom,\n DataDecoded,\n DetailedExecutionInfo,\n DisableModule,\n EnableModule,\n Erc20Transfer,\n Erc721Transfer,\n InternalTransaction,\n ModuleExecutionDetails,\n MultiSend,\n MultisigConfirmation,\n MultisigExecutionDetails,\n NativeCoinTransfer,\n Operation,\n Parameter,\n RemoveOwner,\n SafeAppInfo,\n SetFallbackHandler,\n SettingsChange,\n SettingsInfo,\n SwapOwner,\n TokenInfo,\n TokenType,\n TransactionData,\n TransactionInfo,\n TransactionStatus,\n Transfer,\n TransferDirection,\n TransferInfo,\n} from '@safe-global/safe-gateway-typescript-sdk';\n\nexport type GatewayTransactionDetails = TransactionDetails;\n\nexport type TokenBalance = {\n tokenInfo: TokenInfo;\n balance: string;\n fiatBalance: string;\n fiatConversion: string;\n};\n\nexport type SafeBalances = SafeBalanceResponse;\n","import { Methods } from '../communication/methods.js';\nimport {\n GatewayTransactionDetails,\n SignMessageParams,\n SendTransactionsParams,\n GetTxBySafeTxHashParams,\n Communicator,\n SendTransactionsResponse,\n SignTypedMessageParams,\n EIP712TypedData,\n isObjectEIP712TypedData,\n SignMessageResponse,\n} from '../types/index.js';\n\nclass TXs {\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n }\n\n async getBySafeTxHash(safeTxHash: string): Promise<GatewayTransactionDetails> {\n if (!safeTxHash) {\n throw new Error('Invalid safeTxHash');\n }\n\n const response = await this.communicator.send<\n Methods.getTxBySafeTxHash,\n GetTxBySafeTxHashParams,\n GatewayTransactionDetails\n >(Methods.getTxBySafeTxHash, { safeTxHash });\n\n return response.data;\n }\n\n async signMessage(message: string): Promise<SignMessageResponse> {\n const messagePayload = {\n message,\n };\n\n const response = await this.communicator.send<Methods.signMessage, SignMessageParams, SignMessageResponse>(\n Methods.signMessage,\n messagePayload,\n );\n\n return response.data;\n }\n\n async signTypedMessage(typedData: EIP712TypedData): Promise<SignMessageResponse> {\n if (!isObjectEIP712TypedData(typedData)) {\n throw new Error('Invalid typed data');\n }\n\n const response = await this.communicator.send<\n Methods.signTypedMessage,\n SignTypedMessageParams,\n SignMessageResponse\n >(Methods.signTypedMessage, { typedData });\n\n return response.data;\n }\n\n async send({ txs, params }: SendTransactionsParams): Promise<SendTransactionsResponse> {\n if (!txs || !txs.length) {\n throw new Error('No transactions were passed');\n }\n\n const messagePayload = {\n txs,\n params,\n };\n\n const response = await this.communicator.send<\n Methods.sendTransactions,\n SendTransactionsParams,\n SendTransactionsResponse\n >(Methods.sendTransactions, messagePayload);\n\n return response.data;\n }\n}\n\nexport { TXs };\n","export const RPC_CALLS = {\n eth_call: 'eth_call',\n eth_gasPrice: 'eth_gasPrice',\n eth_getLogs: 'eth_getLogs',\n eth_getBalance: 'eth_getBalance',\n eth_getCode: 'eth_getCode',\n eth_getBlockByHash: 'eth_getBlockByHash',\n eth_getBlockByNumber: 'eth_getBlockByNumber',\n eth_getStorageAt: 'eth_getStorageAt',\n eth_getTransactionByHash: 'eth_getTransactionByHash',\n eth_getTransactionReceipt: 'eth_getTransactionReceipt',\n eth_getTransactionCount: 'eth_getTransactionCount',\n eth_estimateGas: 'eth_estimateGas',\n safe_setSettings: 'safe_setSettings',\n} as const;\n","import { RPC_CALLS } from '../eth/constants.js';\nimport {\n BlockNumberArg,\n RpcCallNames,\n Communicator,\n Log,\n BlockTransactionString,\n BlockTransactionObject,\n Web3TransactionObject,\n RPCPayload,\n TransactionConfig,\n Web3TransactionReceiptObject,\n PastLogsOptions,\n SafeSettings,\n} from '../types/index.js';\nimport { Methods } from '../communication/methods.js';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Formatter = (arg: any) => any;\n\nconst inputFormatters: Record<string, Formatter> = {\n defaultBlockParam: (arg = 'latest') => arg,\n returnFullTxObjectParam: (arg = false): boolean => arg,\n blockNumberToHex: (arg: BlockNumberArg): string =>\n Number.isInteger(arg) ? `0x${arg.toString(16)}` : (arg as string),\n};\n\ntype BuildRequestArgs = {\n call: RpcCallNames;\n formatters?: (Formatter | null)[];\n};\n\nclass Eth {\n public call;\n public getBalance;\n public getCode;\n public getStorageAt;\n public getPastLogs;\n public getBlockByHash;\n public getBlockByNumber;\n public getTransactionByHash;\n public getTransactionReceipt;\n public getTransactionCount;\n public getGasPrice;\n public getEstimateGas;\n public setSafeSettings;\n\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n this.call = this.buildRequest<[TransactionConfig, string?], string>({\n call: RPC_CALLS.eth_call,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getBalance = this.buildRequest<[string, string?], string>({\n call: RPC_CALLS.eth_getBalance,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getCode = this.buildRequest<[string, string?], string>({\n call: RPC_CALLS.eth_getCode,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getStorageAt = this.buildRequest<[string, number, string?], string>({\n call: RPC_CALLS.eth_getStorageAt,\n formatters: [null, inputFormatters.blockNumberToHex, inputFormatters.defaultBlockParam],\n });\n this.getPastLogs = this.buildRequest<[PastLogsOptions], Log[]>({\n call: RPC_CALLS.eth_getLogs,\n });\n this.getBlockByHash = this.buildRequest<[string, boolean?], BlockTransactionString | BlockTransactionObject>({\n call: RPC_CALLS.eth_getBlockByHash,\n formatters: [null, inputFormatters.returnFullTxObjectParam],\n });\n this.getBlockByNumber = this.buildRequest<\n [BlockNumberArg, boolean?],\n BlockTransactionString | BlockTransactionObject\n >({\n call: RPC_CALLS.eth_getBlockByNumber,\n formatters: [inputFormatters.blockNumberToHex, inputFormatters.returnFullTxObjectParam],\n });\n this.getTransactionByHash = this.buildRequest<[string], Web3TransactionObject>({\n call: RPC_CALLS.eth_getTransactionByHash,\n });\n this.getTransactionReceipt = this.buildRequest<[string], Web3TransactionReceiptObject>({\n call: RPC_CALLS.eth_getTransactionReceipt,\n });\n this.getTransactionCount = this.buildRequest<[string, string?], string>({\n call: RPC_CALLS.eth_getTransactionCount,\n formatters: [null, inputFormatters.defaultBlockParam],\n });\n this.getGasPrice = this.buildRequest<never[], string>({\n call: RPC_CALLS.eth_gasPrice,\n });\n this.getEstimateGas = (transaction: TransactionConfig): Promise<number> =>\n this.buildRequest<[TransactionConfig], number>({\n call: RPC_CALLS.eth_estimateGas,\n })([transaction]);\n this.setSafeSettings = this.buildRequest<[SafeSettings], SafeSettings>({\n call: RPC_CALLS.safe_setSettings,\n });\n }\n\n private buildRequest<P = never[], R = unknown>(args: BuildRequestArgs) {\n const { call, formatters } = args;\n\n return async (params?: P): Promise<R> => {\n if (formatters && Array.isArray(params)) {\n formatters.forEach((formatter: ((...args: unknown[]) => unknown) | null, i) => {\n if (formatter) {\n params[i] = formatter(params[i]);\n }\n });\n }\n\n const payload: RPCPayload<P> = {\n call,\n params: params || [],\n };\n\n const response = await this.communicator.send<Methods.rpcCall, RPCPayload<P>, R>(Methods.rpcCall, payload);\n\n return response.data;\n };\n }\n}\n\nexport { Eth };\n","import { encodeFunctionData, Address, hashMessage, hashTypedData } from 'viem';\nimport { MAGIC_VALUE_BYTES, MAGIC_VALUE } from './signatures.js';\nimport { Methods } from '../communication/methods.js';\nimport { RPC_CALLS } from '../eth/constants.js';\nimport {\n Communicator,\n ChainInfo,\n SafeBalances,\n GetBalanceParams,\n RPCPayload,\n TransactionConfig,\n EnvironmentInfo,\n AddressBookItem,\n isObjectEIP712TypedData,\n EIP712TypedData,\n SafeInfoExtended,\n} from '../types/index.js';\nimport requirePermission from '../decorators/requirePermissions.js';\n\nclass Safe {\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n }\n\n async getChainInfo(): Promise<ChainInfo> {\n const response = await this.communicator.send<Methods.getChainInfo, undefined, ChainInfo>(\n Methods.getChainInfo,\n undefined,\n );\n\n return response.data;\n }\n\n async getInfo(): Promise<SafeInfoExtended> {\n const response = await this.communicator.send<Methods.getSafeInfo, undefined, SafeInfoExtended>(\n Methods.getSafeInfo,\n undefined,\n );\n\n return response.data;\n }\n\n // There is a possibility that this method will change because we may add pagination to the endpoint\n async experimental_getBalances({ currency = 'usd' }: GetBalanceParams = {}): Promise<SafeBalances> {\n const response = await this.communicator.send<Methods.getSafeBalances, { currency: string }, SafeBalances>(\n Methods.getSafeBalances,\n {\n currency,\n },\n );\n\n return response.data;\n }\n\n private async check1271Signature(messageHash: string, signature = '0x'): Promise<boolean> {\n const safeInfo = await this.getInfo();\n\n const encodedIsValidSignatureCall = encodeFunctionData({\n abi: [\n {\n constant: false,\n inputs: [\n {\n name: '_dataHash',\n type: 'bytes32',\n },\n {\n name: '_signature',\n type: 'bytes',\n },\n ],\n name: 'isValidSignature',\n outputs: [\n {\n name: '',\n type: 'bytes4',\n },\n ],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n ] as const,\n functionName: 'isValidSignature',\n args: [messageHash as Address, signature as Address],\n });\n\n const payload = {\n call: RPC_CALLS.eth_call,\n params: [\n {\n to: safeInfo.safeAddress,\n data: encodedIsValidSignatureCall,\n },\n 'latest',\n ],\n };\n try {\n const response = await this.communicator.send<Methods.rpcCall, RPCPayload<[TransactionConfig, string]>, string>(\n Methods.rpcCall,\n payload,\n );\n\n return response.data.slice(0, 10).toLowerCase() === MAGIC_VALUE;\n } catch (err) {\n return false;\n }\n }\n\n private async check1271SignatureBytes(messageHash: string, signature = '0x'): Promise<boolean> {\n const safeInfo = await this.getInfo();\n\n const encodedIsValidSignatureCall = encodeFunctionData({\n abi: [\n {\n constant: false,\n inputs: [\n {\n name: '_data',\n type: 'bytes',\n },\n {\n name: '_signature',\n type: 'bytes',\n },\n ],\n name: 'isValidSignature',\n outputs: [\n {\n name: '',\n type: 'bytes4',\n },\n ],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n ] as const,\n functionName: 'isValidSignature',\n args: [messageHash as Address, signature as Address],\n });\n\n const payload = {\n call: RPC_CALLS.eth_call,\n params: [\n {\n to: safeInfo.safeAddress,\n data: encodedIsValidSignatureCall,\n },\n 'latest',\n ],\n };\n\n try {\n const response = await this.communicator.send<Methods.rpcCall, RPCPayload<[TransactionConfig, string]>, string>(\n Methods.rpcCall,\n payload,\n );\n\n return response.data.slice(0, 10).toLowerCase() === MAGIC_VALUE_BYTES;\n } catch (err) {\n return false;\n }\n }\n\n calculateMessageHash(message: string): string {\n return hashMessage(message);\n }\n\n calculateTypedMessageHash(typedMessage: EIP712TypedData): string {\n const chainId =\n typeof typedMessage.domain.chainId === 'object'\n ? typedMessage.domain.chainId.toNumber()\n : Number(typedMessage.domain.chainId);\n\n let primaryType = typedMessage.primaryType;\n if (!primaryType) {\n const fields = Object.values(typedMessage.types);\n // We try to infer primaryType (simplified ether's version)\n const primaryTypes = Object.keys(typedMessage.types).filter((typeName) =>\n fields.every((dataTypes) => dataTypes.every(({ type }) => type.replace('[', '').replace(']', '') !== typeName)),\n );\n if (primaryTypes.length === 0 || primaryTypes.length > 1) throw new Error('Please specify primaryType');\n primaryType = primaryTypes[0];\n }\n\n return hashTypedData({\n message: typedMessage.message,\n domain: {\n ...typedMessage.domain,\n chainId,\n verifyingContract: typedMessage.domain.verifyingContract as Address,\n salt: typedMessage.domain.salt as Address,\n },\n types: typedMessage.types,\n primaryType,\n });\n }\n\n async getOffChainSignature(messageHash: string): Promise<string> {\n const response = await this.communicator.send<Methods.getOffChainSignature, string, string>(\n Methods.getOffChainSignature,\n messageHash,\n );\n\n return response.data;\n }\n\n async isMessageSigned(message: string | EIP712TypedData, signature = '0x'): Promise<boolean> {\n let check: (() => Promise<boolean>) | undefined;\n if (typeof message === 'string') {\n check = async (): Promise<boolean> => {\n const messageHash = this.calculateMessageHash(message);\n const messageHashSigned = await this.isMessageHashSigned(messageHash, signature);\n return messageHashSigned;\n };\n }\n\n if (isObjectEIP712TypedData(message)) {\n check = async (): Promise<boolean> => {\n const messageHash = this.calculateTypedMessageHash(message);\n const messageHashSigned = await this.isMessageHashSigned(messageHash, signature);\n return messageHashSigned;\n };\n }\n if (check) {\n const isValid = await check();\n\n return isValid;\n }\n\n throw new Error('Invalid message type');\n }\n\n async isMessageHashSigned(messageHash: string, signature = '0x'): Promise<boolean> {\n const checks = [this.check1271Signature.bind(this), this.check1271SignatureBytes.bind(this)];\n\n for (const check of checks) {\n const isValid = await check(messageHash, signature);\n if (isValid) {\n return true;\n }\n }\n\n return false;\n }\n\n async getEnvironmentInfo(): Promise<EnvironmentInfo> {\n const response = await this.communicator.send<Methods.getEnvironmentInfo, undefined, EnvironmentInfo>(\n Methods.getEnvironmentInfo,\n undefined,\n );\n\n return response.data;\n }\n\n @requirePermission()\n async requestAddressBook(): Promise<AddressBookItem[]> {\n const response = await this.communicator.send<Methods.requestAddressBook, undefined, AddressBookItem[]>(\n Methods.requestAddressBook,\n undefined,\n );\n\n return response.data;\n }\n}\n\nexport { Safe };\n","const MAGIC_VALUE = '0x1626ba7e';\nconst MAGIC_VALUE_BYTES = '0x20c13b0b';\n\nexport { MAGIC_VALUE, MAGIC_VALUE_BYTES };\n","export type Permission = {\n parentCapability: string;\n invoker: string;\n date?: number;\n caveats?: PermissionCaveat[];\n};\n\nexport type PermissionRequest = {\n [method: string]: Record<string, unknown>;\n};\n\nexport type PermissionCaveat = {\n type: string;\n value?: unknown;\n name?: string;\n};\n\nexport const PERMISSIONS_REQUEST_REJECTED = 4001;\n\nexport class PermissionsError extends Error {\n public code: number;\n public data?: unknown;\n\n constructor(message: string, code: number, data?: unknown) {\n super(message);\n\n this.code = code;\n this.data = data;\n\n // Should adjust prototype manually because how TS handles the type extension compilation\n // https://github.com/Microsoft/TypeScript/wiki/Breaking-Changes#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, PermissionsError.prototype);\n }\n}\n","import { Methods, RestrictedMethods } from '../communication/methods.js';\nimport { Communicator } from '../types/index.js';\nimport { PermissionRequest, Permission, PermissionsError, PERMISSIONS_REQUEST_REJECTED } from '../types/permissions.js';\n\nclass Wallet {\n private readonly communicator: Communicator;\n\n constructor(communicator: Communicator) {\n this.communicator = communicator;\n }\n\n async getPermissions(): Promise<Permission[]> {\n const response = await this.communicator.send<Methods.wallet_getPermissions, undefined, Permission[]>(\n Methods.wallet_getPermissions,\n undefined,\n );\n\n return response.data;\n }\n\n async requestPermissions(permissions: PermissionRequest[]): Promise<Permission[]> {\n if (!this.isPermissionRequestValid(permissions)) {\n throw new PermissionsError('Permissions request is invalid', PERMISSIONS_REQUEST_REJECTED);\n }\n\n try {\n const response = await this.communicator.send<\n Methods.wallet_requestPermissions,\n PermissionRequest[],\n Permission[]\n >(Methods.wallet_requestPermissions, permissions);\n\n return response.data;\n } catch {\n throw new PermissionsError('Permissions rejected', PERMISSIONS_REQUEST_REJECTED);\n }\n }\n\n isPermissionRequestValid(permissions: PermissionRequest[]): boolean {\n return permissions.every((pr: PermissionRequest) => {\n if (typeof pr === 'object') {\n return Object.keys(pr).every((method) => {\n if (Object.values(RestrictedMethods).includes(method as RestrictedMethods)) {\n return true;\n }\n\n return false;\n });\n }\n\n return false;\n });\n }\n}\n\nexport { Wallet };\n","import { Methods } from '../communication/index.js';\nimport { Safe } from '../safe/index.js';\nimport { Wallet } from '../wallet/index.js';\n\nimport { Permission, PermissionsError, PERMISSIONS_REQUEST_REJECTED } from '../types/permissions.js';\n\nconst hasPermission = (required: Methods, permissions: Permission[]): boolean =>\n permissions.some((permission) => permission.parentCapability === required);\n\nconst requirePermission = () => (_: unknown, propertyKey: string, descriptor: PropertyDescriptor) => {\n const originalMethod = descriptor.value;\n\n descriptor.value = async function () {\n // @ts-expect-error accessing private property from decorator. 'this' context is the class instance\n const wallet = new Wallet((this as Safe).communicator);\n\n let currentPermissions = await wallet.getPermissions();\n\n if (!hasPermission(propertyKey as Methods, currentPermissions)) {\n currentPermissions = await wallet.requestPermissions([{ [propertyKey as Methods]: {} }]);\n }\n\n if (!hasPermission(propertyKey as Methods, currentPermissions)) {\n throw new PermissionsError('Permissions rejected', PERMISSIONS_REQUEST_REJECTED);\n }\n\n return originalMethod.apply(this);\n };\n\n return descriptor;\n};\n\nexport default requirePermission;\n","import { Communicator } from './types/index.js';\nimport InterfaceCommunicator from './communication/index.js';\nimport { TXs } from './txs/index.js';\nimport { Eth } from './eth/index.js';\nimport { Safe } from './safe/index.js';\nimport { Wallet } from './wallet/index.js';\n\nexport type Opts = {\n allowedDomains?: RegExp[];\n debug?: boolean;\n};\n\nclass SafeAppsSDK {\n private readonly communicator: Communicator;\n public readonly eth: Eth;\n public readonly txs: TXs;\n public readonly safe: Safe;\n public readonly wallet: Wallet;\n\n constructor(opts: Opts = {}) {\n const { allowedDomains = null, debug = false } = opts;\n\n this.communicator = new InterfaceCommunicator(allowedDomains, debug);\n this.eth = new Eth(this.communicator);\n this.txs = new TXs(this.communicator);\n this.safe = new Safe(this.communicator);\n this.wallet = new Wallet(this.communicator);\n }\n}\n\nexport default SafeAppsSDK;\n","import SDK from './sdk.js';\n\nexport default SDK;\nexport * from './sdk.js';\nexport * from './types/index.js';\nexport * from './communication/methods.js';\nexport * from './communication/messageFormatter.js';\nexport { getSDKVersion } from './version.js';\nexport * from './eth/constants.js';\n","import { Icon } from \"@iconify/react\";\nimport { observer } from \"mobx-react-lite\";\nimport React from \"react\";\nimport { RootStore } from \"../../../store\";\nimport { DialogStore } from \"../../../module/Dialog\";\ninterface IProps {\n msg: string,\n hash: string,\n}\n\nconst SuccessTxDialog = observer((props: IProps) => {\n return <div className='flex-col gap-4 py-10'>\n <div className='w-full flex items-center justify-center'>\n <Icon icon=\"icon-park-solid:check-one\" width=\"48\" height=\"48\" className='text-green-500' /></div>\n <div className='text-2xl font-[900] text-center mt-4'>{props.msg}</div>\n <div className='flex items-center justify-center text-green-500 text-sm mt-6 gap-2 cursor-pointer hover:text-green-600 transition'\n onClick={e => window.open(`https://iotexscan.io/tx/${props.hash}`, '_blank')}>View on IoTeXScan <Icon icon=\"material-symbols:chip-extraction-rounded\" width=\"18\" height=\"18\" /></div>\n </div>\n})\nexport const ShowSuccessTxDialog = ({ msg, hash }) => {\n RootStore.Get(DialogStore).setData({\n title: '',\n content: <SuccessTxDialog msg={msg} hash={hash} />,\n isOpen: true,\n })\n}","import { Chain, Wallet, useConnectModal, getDefaultConfig, WalletDetailsParams } from '@rainbow-me/rainbowkit';\nimport { walletConnectWallet, metaMaskWallet, iopayWallet, okxWallet, binanceWallet, safeWallet } from '@rainbow-me/rainbowkit/wallets';\nimport { iotex } from 'viem/chains';\nimport { ObjectPool, Store } from '../..';\n\nexport class WalletConfigStore implements Store {\n sid = 'WalletConfigStore';\n autoObservable = true\n\n appName = 'Dappkit';\n projectId = 'b69e844f38265667350efd78e3e1a5fb'\n // @ts-ignore\n supportedChains: Chain[];\n defaultChainId = 4689;\n updateTicker = 1\n walletUpdateTick = 0;\n isConnect = false;\n // This mode to resolve and walletClient and nextui in some extreme cases cause page infinite redraw bugs\n compatibleMode = true;\n\n constructor(args: Partial<WalletConfigStore>) {\n Object.assign(this, args);\n }\n\n set(params: Partial<WalletConfigStore>) {\n Object.assign(this, params);\n this.updateTicker += 1\n }\n\n get reconnectOnMount() {\n if (!this.compatibleMode)\n return true\n\n if (!this.isConnect && this.walletUpdateTick == 0) {\n return true\n }\n if (!this.isConnect && this.walletUpdateTick != 0) {\n return false\n }\n if (this.isConnect) {\n return true\n }\n }\n\n get rainbowKitConfig() {\n return ObjectPool.get(`rainbowKitConfig-${this.supportedChains?.map(i => i.id).join('-')}`, () => {\n return getDefaultConfig({\n appName: this.appName,\n projectId: this.projectId,\n //@ts-ignore\n chains: this.supportedChains,\n wallets: [{\n groupName: 'Recommended',\n wallets: [iopayWallet, metaMaskWallet],\n },\n {\n groupName: 'Others',\n wallets: [metaMaskWallet, walletConnectWallet, iopayWallet, okxWallet, binanceWallet, safeWallet],\n }]\n });\n });\n }\n}","import { iotex as _iotex, iotexTestnet as _iotexTestnet, type Chain } from \"viem/chains\";\n\nexport type NetworkObject = {\n name: string;\n chainId: number;\n rpcUrl: string;\n logoUrl: string;\n explorerUrl: string;\n explorerName: string;\n nativeCoin: string;\n type: 'mainnet' | 'testnet';\n};\n\nexport type WalletTransactionHistoryType = {\n chainId: number;\n tx?: string;\n msg: string;\n timestamp: number;\n type: string;\n status: 'loading' | 'success' | 'fail';\n};\n\nexport type AddressMode = 'io' | '0x';\n\nexport const iotex = {\n iconUrl: 'https://cdn-dapp-works.s3.us-east-1.amazonaws.com/1dd84d927ae959c508392be62e6eb549.png',\n ..._iotex,\n} as Chain;\nexport const iotexTestnet = {\n iconUrl: 'https://cdn-dapp-works.s3.us-east-1.amazonaws.com/1dd84d927ae959c508392be62e6eb549.png',\n ..._iotexTestnet,\n} as Chain;;","import { Icon } from '@iconify/react';\nimport { Button, Checkbox, Chip, Input, Listbox, ListboxItem, Popover, PopoverContent, PopoverTrigger, Radio, RadioGroup, Table, TableBody, TableCell, TableColumn, TableHeader, TableRow, Tooltip } from '@nextui-org/react';\nimport { observer, useLocalObservable } from 'mobx-react-lite';\nimport React from 'react';\nimport { useEffect } from 'react';\nimport { RootStore } from \"../../../store\";\nimport { WalletStore } from \"..\";\nimport { WalletRpcStore } from '../walletPluginStore';\nimport { ToastPlugin } from '../../Toast/Toast';\n\n\nconst RpcList = observer(() => {\n const wallet = RootStore.Get(WalletStore)\n const rpcStore = RootStore.Get(WalletRpcStore)\n useEffect(() => {\n rpcStore.testRpc()\n }, [])\n\n return (\n <div className='mb-3 mt-4'>\n <div className='w-full flex mb-2 mt-2'>\n <div className='flex items-center justify-center gap-2'>\n <Checkbox size='sm' isSelected={rpcStore.isAutoSelectRpc.value} onValueChange={e => rpcStore.isAutoSelectRpc.save(e)}>Auto select rpc</Checkbox>\n <Tooltip content={<div className='w-[300px]'>Once selected, if the current RPC cannot send a request, an available RPC will be automatically chosen.</div>}>\n <Icon icon=\"ph:question\" width=\"18\" height=\"18\" className='text-gray-500' />\n </Tooltip>\n </div>\n\n <Button startContent={<Icon icon=\"tabler:test-pipe\" width=\"18\" height=\"18\" />} className='ml-auto' onClick={e => {\n rpcStore.testRpc()\n }}>Test</Button>\n <Popover placement=\"bottom\" offset={20} showArrow isOpen={rpcStore.showCustomRpc} onOpenChange={(open) => rpcStore.showCustomRpc = (open)}>\n <PopoverTrigger>\n <Button color=\"primary\" startContent={<Icon icon=\"basil:add-solid\" width=\"18\" height=\"18\" />} className='ml-4'>Add custom rpc</Button>\n </PopoverTrigger>\n <PopoverContent>\n <div className=\"px-1 py-2\">\n <Input\n type=\"url\"\n className='mb-4'\n placeholder=\"https://rpc.com\"\n value={rpcStore.customRpc}\n onValueChange={(value) => {\n rpcStore.customRpc = value;\n }}\n />\n <Button color='primary' isDisabled={!rpcStore.customRpc} onClick={e => rpcStore.addCustomRpc()}>Save</Button>\n </div>\n </PopoverContent>\n </Popover>\n\n </div>\n\n <Table\n color=\"success\"\n selectionMode=\"single\"\n defaultSelectedKeys={[rpcStore.curRpc.value]}\n aria-label=\"Example static collection table\"\n >\n <TableHeader>\n <TableColumn>RPC Server Address</TableColumn>\n <TableColumn align='center'>Score</TableColumn>\n <TableColumn align='center'>Height</TableColumn>\n <TableColumn align='center'>Latency</TableColumn>\n <TableColumn align='center'>Action</TableColumn>\n </TableHeader>\n <TableBody >\n {\n rpcStore.rpcList?.value?.map((item, index) => {\n return <TableRow className='cursor-pointer' key={item.name} onClick={e => {\n rpcStore.curRpc.save(item.name)\n RootStore.Get(ToastPlugin).success('Set rpc success')\n }} >\n <TableCell >{item.name}</TableCell>\n <TableCell >{rpcStore.scoreIcon(item.latency)}</TableCell>\n <TableCell>{item.height}</TableCell>\n <TableCell className={rpcStore.latencyColor(item.latency)}>{item.latency}s</TableCell>\n <TableCell>\n <div className=\"relative flex items-center gap-2\">\n <Tooltip content=\"Add to metamask\">\n <span className=\"text-lg text-danger cursor-pointer active:opacity-50\" onClick={e => {\n e.stopPropagation()\n rpcStore.addToMetamask(item.name)\n }}>\n <Icon icon=\"logos:metamask-icon\" width=\"18\" height=\"18\" />\n </span>\n </Tooltip>\n {\n item.custom && <Tooltip content=\"Remove\">\n <span className=\"text-lg text-danger cursor-pointer active:opacity-50\" onClick={e => {\n e.stopPropagation()\n rpcStore.removeRpc(item.name)\n }}>\n <Icon icon=\"solar:trash-bin-minimalistic-broken\" width=\"20\" height=\"20\" />\n </span>\n </Tooltip>\n }\n </div>\n </TableCell>\n </TableRow>\n })\n }\n </TableBody>\n </Table>\n </div>\n );\n});\n\nexport { RpcList };\n"]}
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|