@multiplatform.one/web3 7.24.0 → 7.26.0
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/README.md +33 -0
- package/dist/cjs/bridge/AuthBridge.cjs +124 -0
- package/dist/cjs/bridge/AuthBridge.native.js +186 -0
- package/dist/cjs/bridge/AuthBridge.native.js.map +1 -0
- package/dist/cjs/bridge/BridgeClient.cjs +12 -9
- package/dist/cjs/bridge/BridgeClient.native.js +17 -12
- package/dist/cjs/bridge/BridgeClient.native.js.map +1 -1
- package/dist/cjs/bridge/BridgeHost.cjs +11 -3
- package/dist/cjs/bridge/BridgeHost.native.js +11 -3
- package/dist/cjs/bridge/BridgeHost.native.js.map +1 -1
- package/dist/cjs/bridge/GpgBridge.cjs +61 -0
- package/dist/cjs/bridge/GpgBridge.native.js +111 -0
- package/dist/cjs/bridge/GpgBridge.native.js.map +1 -0
- package/dist/cjs/bridge/SuiBridge.cjs +51 -0
- package/dist/cjs/bridge/SuiBridge.native.js +99 -0
- package/dist/cjs/bridge/SuiBridge.native.js.map +1 -0
- package/dist/cjs/bridge/authTypes.cjs +28 -0
- package/dist/cjs/bridge/authTypes.native.js +31 -0
- package/dist/cjs/bridge/authTypes.native.js.map +1 -0
- package/dist/cjs/bridge/core.cjs +65 -0
- package/dist/cjs/bridge/core.native.js +68 -0
- package/dist/cjs/bridge/core.native.js.map +1 -0
- package/dist/cjs/bridge/hosting.cjs +91 -0
- package/dist/cjs/bridge/hosting.native.js +117 -0
- package/dist/cjs/bridge/hosting.native.js.map +1 -0
- package/dist/cjs/bridge/index.cjs +3 -17
- package/dist/cjs/bridge/index.native.js +2 -16
- package/dist/cjs/bridge/index.native.js.map +1 -1
- package/dist/cjs/bridge/nativeHost.cjs +91 -0
- package/dist/cjs/bridge/nativeHost.native.js +118 -0
- package/dist/cjs/bridge/nativeHost.native.js.map +1 -0
- package/dist/cjs/bridge/protocol.cjs +30 -1
- package/dist/cjs/bridge/protocol.native.js +147 -1
- package/dist/cjs/bridge/protocol.native.js.map +1 -1
- package/dist/cjs/core/family.cjs +88 -0
- package/dist/cjs/core/family.native.js +115 -0
- package/dist/cjs/core/family.native.js.map +1 -0
- package/dist/cjs/core/index.cjs +41 -0
- package/dist/cjs/core/index.native.js +44 -0
- package/dist/cjs/core/index.native.js.map +1 -0
- package/dist/cjs/core/message.cjs +89 -0
- package/dist/cjs/core/message.native.js +104 -0
- package/dist/cjs/core/message.native.js.map +1 -0
- package/dist/cjs/core/names.cjs +51 -0
- package/dist/cjs/core/names.native.js +95 -0
- package/dist/cjs/core/names.native.js.map +1 -0
- package/dist/cjs/core/react.cjs +48 -0
- package/dist/cjs/core/react.native.js +52 -0
- package/dist/cjs/core/react.native.js.map +1 -0
- package/dist/cjs/core/store.cjs +450 -0
- package/dist/cjs/core/store.native.js +637 -0
- package/dist/cjs/core/store.native.js.map +1 -0
- package/dist/cjs/core/types.cjs +18 -0
- package/dist/cjs/core/types.native.js +21 -0
- package/dist/cjs/core/types.native.js.map +1 -0
- package/dist/cjs/index.cjs +3 -1
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/providers/WalletProvider.cjs +2 -0
- package/dist/cjs/providers/WalletProvider.native.js +123 -90
- package/dist/cjs/providers/WalletProvider.native.js.map +1 -1
- package/dist/cjs/providers/index.cjs +1 -0
- package/dist/cjs/providers/index.native.js +1 -0
- package/dist/cjs/providers/index.native.js.map +1 -1
- package/dist/cjs/providers/native/deepLink.cjs +40 -23
- package/dist/cjs/providers/native/deepLink.native.js +43 -25
- package/dist/cjs/providers/native/deepLink.native.js.map +1 -1
- package/dist/cjs/providers/native/inject.cjs +2 -4
- package/dist/cjs/providers/native/inject.native.js +2 -4
- package/dist/cjs/providers/native/inject.native.js.map +1 -1
- package/dist/cjs/providers/walletBridge.cjs +35 -0
- package/dist/cjs/providers/walletBridge.native.js +38 -0
- package/dist/cjs/providers/walletBridge.native.js.map +1 -0
- package/dist/cjs/providers/walletConfig.native.js.map +1 -1
- package/dist/esm/bridge/AuthBridge.mjs +99 -0
- package/dist/esm/bridge/AuthBridge.mjs.map +1 -0
- package/dist/esm/bridge/AuthBridge.native.js +158 -0
- package/dist/esm/bridge/AuthBridge.native.js.map +1 -0
- package/dist/esm/bridge/BridgeClient.mjs +13 -10
- package/dist/esm/bridge/BridgeClient.mjs.map +1 -1
- package/dist/esm/bridge/BridgeClient.native.js +18 -13
- package/dist/esm/bridge/BridgeClient.native.js.map +1 -1
- package/dist/esm/bridge/BridgeHost.mjs +12 -4
- package/dist/esm/bridge/BridgeHost.mjs.map +1 -1
- package/dist/esm/bridge/BridgeHost.native.js +12 -4
- package/dist/esm/bridge/BridgeHost.native.js.map +1 -1
- package/dist/esm/bridge/GpgBridge.mjs +36 -0
- package/dist/esm/bridge/GpgBridge.mjs.map +1 -0
- package/dist/esm/bridge/GpgBridge.native.js +83 -0
- package/dist/esm/bridge/GpgBridge.native.js.map +1 -0
- package/dist/esm/bridge/SuiBridge.mjs +26 -0
- package/dist/esm/bridge/SuiBridge.mjs.map +1 -0
- package/dist/esm/bridge/SuiBridge.native.js +71 -0
- package/dist/esm/bridge/SuiBridge.native.js.map +1 -0
- package/dist/esm/bridge/authTypes.mjs +3 -0
- package/dist/esm/bridge/authTypes.mjs.map +1 -0
- package/dist/esm/bridge/authTypes.native.js +3 -0
- package/dist/esm/bridge/authTypes.native.js.map +1 -0
- package/dist/esm/bridge/core.mjs +17 -0
- package/dist/esm/bridge/core.mjs.map +1 -0
- package/dist/esm/bridge/core.native.js +17 -0
- package/dist/esm/bridge/core.native.js.map +1 -0
- package/dist/esm/bridge/hosting.mjs +62 -0
- package/dist/esm/bridge/hosting.mjs.map +1 -0
- package/dist/esm/bridge/hosting.native.js +85 -0
- package/dist/esm/bridge/hosting.native.js.map +1 -0
- package/dist/esm/bridge/index.mjs +2 -9
- package/dist/esm/bridge/index.mjs.map +1 -1
- package/dist/esm/bridge/index.native.js +2 -9
- package/dist/esm/bridge/index.native.js.map +1 -1
- package/dist/esm/bridge/nativeHost.mjs +65 -0
- package/dist/esm/bridge/nativeHost.mjs.map +1 -0
- package/dist/esm/bridge/nativeHost.native.js +89 -0
- package/dist/esm/bridge/nativeHost.native.js.map +1 -0
- package/dist/esm/bridge/protocol.mjs +28 -2
- package/dist/esm/bridge/protocol.mjs.map +1 -1
- package/dist/esm/bridge/protocol.native.js +145 -2
- package/dist/esm/bridge/protocol.native.js.map +1 -1
- package/dist/esm/core/family.mjs +62 -0
- package/dist/esm/core/family.mjs.map +1 -0
- package/dist/esm/core/family.native.js +86 -0
- package/dist/esm/core/family.native.js.map +1 -0
- package/dist/esm/core/index.mjs +7 -0
- package/dist/esm/core/index.mjs.map +1 -0
- package/dist/esm/core/index.native.js +7 -0
- package/dist/esm/core/index.native.js.map +1 -0
- package/dist/esm/core/message.mjs +63 -0
- package/dist/esm/core/message.mjs.map +1 -0
- package/dist/esm/core/message.native.js +75 -0
- package/dist/esm/core/message.native.js.map +1 -0
- package/dist/esm/core/names.mjs +25 -0
- package/dist/esm/core/names.mjs.map +1 -0
- package/dist/esm/core/names.native.js +66 -0
- package/dist/esm/core/names.native.js.map +1 -0
- package/dist/esm/core/react.mjs +21 -0
- package/dist/esm/core/react.mjs.map +1 -0
- package/dist/esm/core/react.native.js +22 -0
- package/dist/esm/core/react.native.js.map +1 -0
- package/dist/esm/core/store.mjs +424 -0
- package/dist/esm/core/store.mjs.map +1 -0
- package/dist/esm/core/store.native.js +608 -0
- package/dist/esm/core/store.native.js.map +1 -0
- package/dist/esm/core/types.mjs +2 -0
- package/dist/esm/core/types.mjs.map +1 -0
- package/dist/esm/core/types.native.js +2 -0
- package/dist/esm/core/types.native.js.map +1 -0
- package/dist/esm/index.mjs +3 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/providers/WalletProvider.mjs +2 -1
- package/dist/esm/providers/WalletProvider.mjs.map +1 -1
- package/dist/esm/providers/WalletProvider.native.js +125 -93
- package/dist/esm/providers/WalletProvider.native.js.map +1 -1
- package/dist/esm/providers/index.mjs +2 -2
- package/dist/esm/providers/index.mjs.map +1 -1
- package/dist/esm/providers/index.native.js +2 -2
- package/dist/esm/providers/index.native.js.map +1 -1
- package/dist/esm/providers/native/deepLink.mjs +36 -24
- package/dist/esm/providers/native/deepLink.mjs.map +1 -1
- package/dist/esm/providers/native/deepLink.native.js +39 -26
- package/dist/esm/providers/native/deepLink.native.js.map +1 -1
- package/dist/esm/providers/native/inject.mjs +1 -3
- package/dist/esm/providers/native/inject.mjs.map +1 -1
- package/dist/esm/providers/native/inject.native.js +1 -3
- package/dist/esm/providers/native/inject.native.js.map +1 -1
- package/dist/esm/providers/walletBridge.mjs +9 -0
- package/dist/esm/providers/walletBridge.mjs.map +1 -0
- package/dist/esm/providers/walletBridge.native.js +9 -0
- package/dist/esm/providers/walletBridge.native.js.map +1 -0
- package/dist/esm/providers/walletConfig.mjs.map +1 -1
- package/dist/esm/providers/walletConfig.native.js.map +1 -1
- package/dist/jsx/bridge/AuthBridge.mjs +99 -0
- package/dist/jsx/bridge/AuthBridge.mjs.map +1 -0
- package/dist/jsx/bridge/AuthBridge.native.js +186 -0
- package/dist/jsx/bridge/AuthBridge.native.js.map +1 -0
- package/dist/jsx/bridge/BridgeClient.mjs +13 -10
- package/dist/jsx/bridge/BridgeClient.mjs.map +1 -1
- package/dist/jsx/bridge/BridgeClient.native.js +17 -12
- package/dist/jsx/bridge/BridgeClient.native.js.map +1 -1
- package/dist/jsx/bridge/BridgeHost.mjs +12 -4
- package/dist/jsx/bridge/BridgeHost.mjs.map +1 -1
- package/dist/jsx/bridge/BridgeHost.native.js +11 -3
- package/dist/jsx/bridge/BridgeHost.native.js.map +1 -1
- package/dist/jsx/bridge/GpgBridge.mjs +36 -0
- package/dist/jsx/bridge/GpgBridge.mjs.map +1 -0
- package/dist/jsx/bridge/GpgBridge.native.js +111 -0
- package/dist/jsx/bridge/GpgBridge.native.js.map +1 -0
- package/dist/jsx/bridge/SuiBridge.mjs +26 -0
- package/dist/jsx/bridge/SuiBridge.mjs.map +1 -0
- package/dist/jsx/bridge/SuiBridge.native.js +99 -0
- package/dist/jsx/bridge/SuiBridge.native.js.map +1 -0
- package/dist/jsx/bridge/authTypes.mjs +3 -0
- package/dist/jsx/bridge/authTypes.mjs.map +1 -0
- package/dist/jsx/bridge/authTypes.native.js +31 -0
- package/dist/jsx/bridge/authTypes.native.js.map +1 -0
- package/dist/jsx/bridge/core.mjs +17 -0
- package/dist/jsx/bridge/core.mjs.map +1 -0
- package/dist/jsx/bridge/core.native.js +68 -0
- package/dist/jsx/bridge/core.native.js.map +1 -0
- package/dist/jsx/bridge/hosting.mjs +62 -0
- package/dist/jsx/bridge/hosting.mjs.map +1 -0
- package/dist/jsx/bridge/hosting.native.js +117 -0
- package/dist/jsx/bridge/hosting.native.js.map +1 -0
- package/dist/jsx/bridge/index.mjs +2 -9
- package/dist/jsx/bridge/index.mjs.map +1 -1
- package/dist/jsx/bridge/index.native.js +2 -16
- package/dist/jsx/bridge/index.native.js.map +1 -1
- package/dist/jsx/bridge/nativeHost.mjs +65 -0
- package/dist/jsx/bridge/nativeHost.mjs.map +1 -0
- package/dist/jsx/bridge/nativeHost.native.js +118 -0
- package/dist/jsx/bridge/nativeHost.native.js.map +1 -0
- package/dist/jsx/bridge/protocol.mjs +28 -2
- package/dist/jsx/bridge/protocol.mjs.map +1 -1
- package/dist/jsx/bridge/protocol.native.js +147 -1
- package/dist/jsx/bridge/protocol.native.js.map +1 -1
- package/dist/jsx/core/family.mjs +62 -0
- package/dist/jsx/core/family.mjs.map +1 -0
- package/dist/jsx/core/family.native.js +115 -0
- package/dist/jsx/core/family.native.js.map +1 -0
- package/dist/jsx/core/index.mjs +7 -0
- package/dist/jsx/core/index.mjs.map +1 -0
- package/dist/jsx/core/index.native.js +44 -0
- package/dist/jsx/core/index.native.js.map +1 -0
- package/dist/jsx/core/message.mjs +63 -0
- package/dist/jsx/core/message.mjs.map +1 -0
- package/dist/jsx/core/message.native.js +104 -0
- package/dist/jsx/core/message.native.js.map +1 -0
- package/dist/jsx/core/names.mjs +25 -0
- package/dist/jsx/core/names.mjs.map +1 -0
- package/dist/jsx/core/names.native.js +95 -0
- package/dist/jsx/core/names.native.js.map +1 -0
- package/dist/jsx/core/react.mjs +21 -0
- package/dist/jsx/core/react.mjs.map +1 -0
- package/dist/jsx/core/react.native.js +52 -0
- package/dist/jsx/core/react.native.js.map +1 -0
- package/dist/jsx/core/store.mjs +424 -0
- package/dist/jsx/core/store.mjs.map +1 -0
- package/dist/jsx/core/store.native.js +637 -0
- package/dist/jsx/core/store.native.js.map +1 -0
- package/dist/jsx/core/types.mjs +2 -0
- package/dist/jsx/core/types.mjs.map +1 -0
- package/dist/jsx/core/types.native.js +21 -0
- package/dist/jsx/core/types.native.js.map +1 -0
- package/dist/jsx/index.js +3 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +3 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +2 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/providers/WalletProvider.mjs +2 -1
- package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
- package/dist/jsx/providers/WalletProvider.native.js +123 -90
- package/dist/jsx/providers/WalletProvider.native.js.map +1 -1
- package/dist/jsx/providers/index.mjs +2 -2
- package/dist/jsx/providers/index.mjs.map +1 -1
- package/dist/jsx/providers/index.native.js +1 -0
- package/dist/jsx/providers/index.native.js.map +1 -1
- package/dist/jsx/providers/native/deepLink.mjs +36 -24
- package/dist/jsx/providers/native/deepLink.mjs.map +1 -1
- package/dist/jsx/providers/native/deepLink.native.js +43 -25
- package/dist/jsx/providers/native/deepLink.native.js.map +1 -1
- package/dist/jsx/providers/native/inject.mjs +1 -3
- package/dist/jsx/providers/native/inject.mjs.map +1 -1
- package/dist/jsx/providers/native/inject.native.js +2 -4
- package/dist/jsx/providers/native/inject.native.js.map +1 -1
- package/dist/jsx/providers/walletBridge.mjs +9 -0
- package/dist/jsx/providers/walletBridge.mjs.map +1 -0
- package/dist/jsx/providers/walletBridge.native.js +38 -0
- package/dist/jsx/providers/walletBridge.native.js.map +1 -0
- package/dist/jsx/providers/walletConfig.mjs.map +1 -1
- package/dist/jsx/providers/walletConfig.native.js.map +1 -1
- package/docs/bridge-protocol.md +485 -0
- package/package.json +14 -6
- package/src/bridge/AuthBridge.ts +146 -0
- package/src/bridge/BridgeClient.spec.ts +12 -0
- package/src/bridge/BridgeClient.ts +15 -10
- package/src/bridge/BridgeHost.spec.ts +20 -4
- package/src/bridge/BridgeHost.ts +16 -5
- package/src/bridge/GpgBridge.ts +49 -0
- package/src/bridge/SuiBridge.ts +34 -0
- package/src/bridge/authTypes.ts +76 -0
- package/src/bridge/core.ts +42 -0
- package/src/bridge/hosting.spec.ts +98 -0
- package/src/bridge/hosting.ts +99 -0
- package/src/bridge/index.ts +1 -8
- package/src/bridge/nativeHost.spec.ts +165 -0
- package/src/bridge/nativeHost.ts +120 -0
- package/src/bridge/protocol.spec.ts +24 -1
- package/src/bridge/protocol.ts +44 -1
- package/src/core/family.spec.ts +117 -0
- package/src/core/family.ts +103 -0
- package/src/core/imports.spec.ts +82 -0
- package/src/core/index.ts +47 -0
- package/src/core/message.spec.ts +178 -0
- package/src/core/message.ts +119 -0
- package/src/core/names.ts +29 -0
- package/src/core/react.spec.tsx +75 -0
- package/src/core/react.ts +34 -0
- package/src/core/store.spec.ts +890 -0
- package/src/core/store.ts +558 -0
- package/src/core/types.ts +96 -0
- package/src/index.ts +6 -0
- package/src/providers/WalletProvider.native.tsx +139 -85
- package/src/providers/WalletProvider.tsx +1 -1
- package/src/providers/index.ts +2 -0
- package/src/providers/native/deepLink.spec.ts +73 -1
- package/src/providers/native/deepLink.ts +76 -28
- package/src/providers/native/inject.ts +1 -9
- package/src/providers/walletBridge.ts +24 -0
- package/src/providers/walletConfig.ts +15 -1
- package/types/bridge/AuthBridge.d.ts +58 -0
- package/types/bridge/AuthBridge.d.ts.map +1 -0
- package/types/bridge/BridgeClient.d.ts +3 -1
- package/types/bridge/BridgeClient.d.ts.map +1 -1
- package/types/bridge/BridgeHost.d.ts +1 -1
- package/types/bridge/BridgeHost.d.ts.map +1 -1
- package/types/bridge/GpgBridge.d.ts +23 -0
- package/types/bridge/GpgBridge.d.ts.map +1 -0
- package/types/bridge/SuiBridge.d.ts +18 -0
- package/types/bridge/SuiBridge.d.ts.map +1 -0
- package/types/bridge/authTypes.d.ts +71 -0
- package/types/bridge/authTypes.d.ts.map +1 -0
- package/types/bridge/core.d.ts +16 -0
- package/types/bridge/core.d.ts.map +1 -0
- package/types/bridge/hosting.d.ts +34 -0
- package/types/bridge/hosting.d.ts.map +1 -0
- package/types/bridge/index.d.ts +1 -8
- package/types/bridge/index.d.ts.map +1 -1
- package/types/bridge/nativeHost.d.ts +55 -0
- package/types/bridge/nativeHost.d.ts.map +1 -0
- package/types/bridge/protocol.d.ts +34 -1
- package/types/bridge/protocol.d.ts.map +1 -1
- package/types/core/family.d.ts +44 -0
- package/types/core/family.d.ts.map +1 -0
- package/types/core/index.d.ts +7 -0
- package/types/core/index.d.ts.map +1 -0
- package/types/core/message.d.ts +44 -0
- package/types/core/message.d.ts.map +1 -0
- package/types/core/names.d.ts +7 -0
- package/types/core/names.d.ts.map +1 -0
- package/types/core/react.d.ts +14 -0
- package/types/core/react.d.ts.map +1 -0
- package/types/core/store.d.ts +64 -0
- package/types/core/store.d.ts.map +1 -0
- package/types/core/types.d.ts +88 -0
- package/types/core/types.d.ts.map +1 -0
- package/types/index.d.ts +2 -1
- package/types/index.d.ts.map +1 -1
- package/types/providers/WalletProvider.d.ts +1 -0
- package/types/providers/WalletProvider.d.ts.map +1 -1
- package/types/providers/WalletProvider.native.d.ts +2 -1
- package/types/providers/WalletProvider.native.d.ts.map +1 -1
- package/types/providers/index.d.ts +1 -1
- package/types/providers/index.d.ts.map +1 -1
- package/types/providers/native/deepLink.d.ts +29 -4
- package/types/providers/native/deepLink.d.ts.map +1 -1
- package/types/providers/native/inject.d.ts +1 -7
- package/types/providers/native/inject.d.ts.map +1 -1
- package/types/providers/walletBridge.d.ts +17 -0
- package/types/providers/walletBridge.d.ts.map +1 -0
- package/types/providers/walletConfig.d.ts +18 -1
- package/types/providers/walletConfig.d.ts.map +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { nameTable } from "./names.mjs";
|
|
2
|
+
function singleLine(field, value) {
|
|
3
|
+
if (value && /[\r\n]/.test(value)) {
|
|
4
|
+
throw new Error(`wallet message: ${field} must be a single line`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
function pageLocation() {
|
|
8
|
+
const location = globalThis.location;
|
|
9
|
+
return {
|
|
10
|
+
host: location?.host ?? "",
|
|
11
|
+
origin: location?.origin ?? ""
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function formatWalletMessage(spec, opts, family = "wallet") {
|
|
15
|
+
const page = pageLocation();
|
|
16
|
+
const domain = opts.domain ?? page.host;
|
|
17
|
+
if (!domain) {
|
|
18
|
+
throw new Error("wallet message: no domain. Pass opts.domain; a file:// or native page has no host.");
|
|
19
|
+
}
|
|
20
|
+
const pageOrigin = page.origin && page.origin !== "null" ? page.origin : "";
|
|
21
|
+
const uri = opts.uri ?? (pageOrigin || `https://${domain}`);
|
|
22
|
+
const statement = opts.statement === void 0 ? spec.statement : opts.statement;
|
|
23
|
+
singleLine("domain", domain);
|
|
24
|
+
singleLine("uri", uri);
|
|
25
|
+
singleLine("statement", statement);
|
|
26
|
+
const lines = [`${domain} ${spec.header}`];
|
|
27
|
+
if (spec.address !== false) {
|
|
28
|
+
if (!opts.address) throw new Error(`wallet message: ${family} needs an address`);
|
|
29
|
+
lines.push(spec.normalizeAddress ? spec.normalizeAddress(opts.address) : opts.address);
|
|
30
|
+
}
|
|
31
|
+
lines.push("");
|
|
32
|
+
if (statement) lines.push(statement, "");else if (spec.keepStatementLine) lines.push("");
|
|
33
|
+
lines.push(`URI: ${uri}`, `Version: ${opts.version ?? "1"}`);
|
|
34
|
+
if (spec.chainId !== null) {
|
|
35
|
+
const chainId = spec.numericChainId ? opts.chainId ?? spec.chainId : typeof opts.chainId === "string" ? opts.chainId : spec.chainId;
|
|
36
|
+
lines.push(`Chain ID: ${chainId}`);
|
|
37
|
+
}
|
|
38
|
+
lines.push(`Nonce: ${opts.nonce}`, `Issued At: ${opts.issuedAt ?? (/* @__PURE__ */new Date()).toISOString()}`);
|
|
39
|
+
return lines.join("\n");
|
|
40
|
+
}
|
|
41
|
+
function createMessageRegistry(families) {
|
|
42
|
+
const list = [...families];
|
|
43
|
+
const names = nameTable(list);
|
|
44
|
+
const specs = new Map(list.map(family => [family.id, family.message]));
|
|
45
|
+
const spec = family => {
|
|
46
|
+
const id = names.get(family);
|
|
47
|
+
return id === void 0 ? void 0 : specs.get(id);
|
|
48
|
+
};
|
|
49
|
+
return {
|
|
50
|
+
families: list.map(family => family.id),
|
|
51
|
+
resolve: family => names.get(family),
|
|
52
|
+
spec,
|
|
53
|
+
build(family, opts) {
|
|
54
|
+
const found = spec(family);
|
|
55
|
+
if (found === void 0) {
|
|
56
|
+
throw new Error(`no wallet message for family ${family}; registered: ${list.map(entry => entry.id).join(", ") || "none"}`);
|
|
57
|
+
}
|
|
58
|
+
return formatWalletMessage(found, opts, names.get(family));
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export { createMessageRegistry, formatWalletMessage };
|
|
63
|
+
//# sourceMappingURL=message.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nameTable","singleLine","field","value","test","Error","pageLocation","location","globalThis","host","origin","formatWalletMessage","spec","opts","family","page","domain","pageOrigin","uri","statement","lines","header","address","push","normalizeAddress","keepStatementLine","version","chainId","numericChainId","nonce","issuedAt","Date","toISOString","join","createMessageRegistry","families","list","names","specs","Map","map","id","message","get","resolve","build","found","entry"],"sources":["../../../src/core/message.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { nameTable } from "./names.native.js";
|
|
2
|
+
function singleLine(field, value) {
|
|
3
|
+
if (value && /[\r\n]/.test(value)) {
|
|
4
|
+
throw new Error(`wallet message: ${field} must be a single line`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
function pageLocation() {
|
|
8
|
+
var _ref, _ref1;
|
|
9
|
+
var location = globalThis.location;
|
|
10
|
+
return {
|
|
11
|
+
host: (_ref = location === null || location === void 0 ? void 0 : location.host) !== null && _ref !== void 0 ? _ref : "",
|
|
12
|
+
origin: (_ref1 = location === null || location === void 0 ? void 0 : location.origin) !== null && _ref1 !== void 0 ? _ref1 : ""
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function formatWalletMessage(spec, opts) {
|
|
16
|
+
var family = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "wallet";
|
|
17
|
+
var _opts_domain, _opts_uri, _opts_version, _opts_issuedAt;
|
|
18
|
+
var page = pageLocation();
|
|
19
|
+
var domain = (_opts_domain = opts.domain) !== null && _opts_domain !== void 0 ? _opts_domain : page.host;
|
|
20
|
+
if (!domain) {
|
|
21
|
+
throw new Error("wallet message: no domain. Pass opts.domain; a file:// or native page has no host.");
|
|
22
|
+
}
|
|
23
|
+
var pageOrigin = page.origin && page.origin !== "null" ? page.origin : "";
|
|
24
|
+
var uri = (_opts_uri = opts.uri) !== null && _opts_uri !== void 0 ? _opts_uri : pageOrigin || `https://${domain}`;
|
|
25
|
+
var statement = opts.statement === void 0 ? spec.statement : opts.statement;
|
|
26
|
+
singleLine("domain", domain);
|
|
27
|
+
singleLine("uri", uri);
|
|
28
|
+
singleLine("statement", statement);
|
|
29
|
+
var lines = [`${domain} ${spec.header}`];
|
|
30
|
+
if (spec.address !== false) {
|
|
31
|
+
if (!opts.address) throw new Error(`wallet message: ${family} needs an address`);
|
|
32
|
+
lines.push(spec.normalizeAddress ? spec.normalizeAddress(opts.address) : opts.address);
|
|
33
|
+
}
|
|
34
|
+
lines.push("");
|
|
35
|
+
if (statement) lines.push(statement, "");else if (spec.keepStatementLine) lines.push("");
|
|
36
|
+
lines.push(`URI: ${uri}`, `Version: ${(_opts_version = opts.version) !== null && _opts_version !== void 0 ? _opts_version : "1"}`);
|
|
37
|
+
if (spec.chainId !== null) {
|
|
38
|
+
var _opts_chainId;
|
|
39
|
+
var chainId = spec.numericChainId ? (_opts_chainId = opts.chainId) !== null && _opts_chainId !== void 0 ? _opts_chainId : spec.chainId : typeof opts.chainId === "string" ? opts.chainId : spec.chainId;
|
|
40
|
+
lines.push(`Chain ID: ${chainId}`);
|
|
41
|
+
}
|
|
42
|
+
lines.push(`Nonce: ${opts.nonce}`, `Issued At: ${(_opts_issuedAt = opts.issuedAt) !== null && _opts_issuedAt !== void 0 ? _opts_issuedAt : (/* @__PURE__ */new Date()).toISOString()}`);
|
|
43
|
+
return lines.join("\n");
|
|
44
|
+
}
|
|
45
|
+
function createMessageRegistry(families) {
|
|
46
|
+
var list = [...families];
|
|
47
|
+
var names = nameTable(list);
|
|
48
|
+
var specs = new Map(list.map(function (family) {
|
|
49
|
+
return [family.id, family.message];
|
|
50
|
+
}));
|
|
51
|
+
var spec = function spec2(family) {
|
|
52
|
+
var id = names.get(family);
|
|
53
|
+
return id === void 0 ? void 0 : specs.get(id);
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
families: list.map(function (family) {
|
|
57
|
+
return family.id;
|
|
58
|
+
}),
|
|
59
|
+
resolve: function resolve(family) {
|
|
60
|
+
return names.get(family);
|
|
61
|
+
},
|
|
62
|
+
spec,
|
|
63
|
+
build(family, opts) {
|
|
64
|
+
var found = spec(family);
|
|
65
|
+
if (found === void 0) {
|
|
66
|
+
throw new Error(`no wallet message for family ${family}; registered: ${list.map(function (entry) {
|
|
67
|
+
return entry.id;
|
|
68
|
+
}).join(", ") || "none"}`);
|
|
69
|
+
}
|
|
70
|
+
return formatWalletMessage(found, opts, names.get(family));
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export { createMessageRegistry, formatWalletMessage };
|
|
75
|
+
//# sourceMappingURL=message.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["nameTable","singleLine","field","value","test","Error","pageLocation","_ref","_ref1","location","globalThis","host","origin","formatWalletMessage","spec","opts","family","arguments","length","_opts_domain","_opts_uri","_opts_version","_opts_issuedAt","page","domain","pageOrigin","uri","statement","lines","header","address","push","normalizeAddress","keepStatementLine","version","chainId","_opts_chainId","numericChainId","nonce","issuedAt","Date","toISOString","join","createMessageRegistry","families","list","names","specs","Map","map","id","message","spec2","get"],"sources":["../../../src/core/message.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const pattern = /^[a-z][a-z0-9-]*$/;
|
|
2
|
+
function assertName(kind, name) {
|
|
3
|
+
if (typeof name !== "string" || !pattern.test(name)) {
|
|
4
|
+
throw new Error(`${kind} must be lowercase letters, digits and dashes: ${String(name)}`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
function nameTable(entries) {
|
|
8
|
+
const table = /* @__PURE__ */new Map();
|
|
9
|
+
const claim = (name, id) => {
|
|
10
|
+
const owner = table.get(name);
|
|
11
|
+
if (owner === void 0) table.set(name, id);else if (owner !== id) {
|
|
12
|
+
throw new Error(`wallet family name "${name}" is claimed by ${owner} and ${id}`);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
for (const entry of entries) {
|
|
16
|
+
if (table.get(entry.id) === entry.id) {
|
|
17
|
+
throw new Error(`wallet family ${entry.id} is registered twice`);
|
|
18
|
+
}
|
|
19
|
+
claim(entry.id, entry.id);
|
|
20
|
+
for (const alias of entry.aliases ?? []) claim(alias, entry.id);
|
|
21
|
+
}
|
|
22
|
+
return table;
|
|
23
|
+
}
|
|
24
|
+
export { assertName, nameTable };
|
|
25
|
+
//# sourceMappingURL=names.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pattern","assertName","kind","name","test","Error","String","nameTable","entries","table","Map","claim","id","owner","get","set","entry","alias","aliases"],"sources":["../../../src/core/names.ts"],"sourcesContent":[null],"mappings":"AAAA,MAAMA,OAAA,GAAU;AAET,SAASC,WAAWC,IAAA,EAAcC,IAAA,EAAuC;EAC9E,IAAI,OAAOA,IAAA,KAAS,YAAY,CAACH,OAAA,CAAQI,IAAA,CAAKD,IAAI,GAAG;IACnD,MAAM,IAAIE,KAAA,CAAM,GAAGH,IAAI,kDAAkDI,MAAA,CAAOH,IAAI,CAAC,EAAE;EACzF;AACF;AAGO,SAASI,UACdC,OAAA,EACqB;EACrB,MAAMC,KAAA,GAAQ,mBAAIC,GAAA,CAAoB;EACtC,MAAMC,KAAA,GAAQA,CAACR,IAAA,EAAcS,EAAA,KAAe;IAC1C,MAAMC,KAAA,GAAQJ,KAAA,CAAMK,GAAA,CAAIX,IAAI;IAC5B,IAAIU,KAAA,KAAU,QAAWJ,KAAA,CAAMM,GAAA,CAAIZ,IAAA,EAAMS,EAAE,WAClCC,KAAA,KAAUD,EAAA,EAAI;MACrB,MAAM,IAAIP,KAAA,CAAM,uBAAuBF,IAAI,mBAAmBU,KAAK,QAAQD,EAAE,EAAE;IACjF;EACF;EACA,WAAWI,KAAA,IAASR,OAAA,EAAS;IAC3B,IAAIC,KAAA,CAAMK,GAAA,CAAIE,KAAA,CAAMJ,EAAE,MAAMI,KAAA,CAAMJ,EAAA,EAAI;MACpC,MAAM,IAAIP,KAAA,CAAM,iBAAiBW,KAAA,CAAMJ,EAAE,sBAAsB;IACjE;IACAD,KAAA,CAAMK,KAAA,CAAMJ,EAAA,EAAII,KAAA,CAAMJ,EAAE;IACxB,WAAWK,KAAA,IAASD,KAAA,CAAME,OAAA,IAAW,EAAC,EAAGP,KAAA,CAAMM,KAAA,EAAOD,KAAA,CAAMJ,EAAE;EAChE;EACA,OAAOH,KAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var pattern = /^[a-z][a-z0-9-]*$/;
|
|
2
|
+
function assertName(kind, name) {
|
|
3
|
+
if (typeof name !== "string" || !pattern.test(name)) {
|
|
4
|
+
throw new Error(`${kind} must be lowercase letters, digits and dashes: ${String(name)}`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
function nameTable(entries) {
|
|
8
|
+
var table = /* @__PURE__ */new Map();
|
|
9
|
+
var claim = function claim2(name, id) {
|
|
10
|
+
var owner = table.get(name);
|
|
11
|
+
if (owner === void 0) table.set(name, id);else if (owner !== id) {
|
|
12
|
+
throw new Error(`wallet family name "${name}" is claimed by ${owner} and ${id}`);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var _iteratorNormalCompletion = true,
|
|
16
|
+
_didIteratorError = false,
|
|
17
|
+
_iteratorError = void 0;
|
|
18
|
+
try {
|
|
19
|
+
for (var _iterator = entries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
20
|
+
var entry = _step.value;
|
|
21
|
+
var _entry_aliases;
|
|
22
|
+
if (table.get(entry.id) === entry.id) {
|
|
23
|
+
throw new Error(`wallet family ${entry.id} is registered twice`);
|
|
24
|
+
}
|
|
25
|
+
claim(entry.id, entry.id);
|
|
26
|
+
var _iteratorNormalCompletion1 = true,
|
|
27
|
+
_didIteratorError1 = false,
|
|
28
|
+
_iteratorError1 = void 0;
|
|
29
|
+
try {
|
|
30
|
+
for (var _iterator1 = ((_entry_aliases = entry.aliases) !== null && _entry_aliases !== void 0 ? _entry_aliases : [])[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
31
|
+
var alias = _step1.value;
|
|
32
|
+
claim(alias, entry.id);
|
|
33
|
+
}
|
|
34
|
+
} catch (err) {
|
|
35
|
+
_didIteratorError1 = true;
|
|
36
|
+
_iteratorError1 = err;
|
|
37
|
+
} finally {
|
|
38
|
+
try {
|
|
39
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
40
|
+
_iterator1.return();
|
|
41
|
+
}
|
|
42
|
+
} finally {
|
|
43
|
+
if (_didIteratorError1) {
|
|
44
|
+
throw _iteratorError1;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
} catch (err) {
|
|
50
|
+
_didIteratorError = true;
|
|
51
|
+
_iteratorError = err;
|
|
52
|
+
} finally {
|
|
53
|
+
try {
|
|
54
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
55
|
+
_iterator.return();
|
|
56
|
+
}
|
|
57
|
+
} finally {
|
|
58
|
+
if (_didIteratorError) {
|
|
59
|
+
throw _iteratorError;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return table;
|
|
64
|
+
}
|
|
65
|
+
export { assertName, nameTable };
|
|
66
|
+
//# sourceMappingURL=names.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pattern","assertName","kind","name","test","Error","String","nameTable","entries","table","Map","claim","claim2","id","owner","get","set","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","entry","value","_entry_aliases"],"sources":["../../../src/core/names.ts"],"sourcesContent":[null],"mappings":"AAAA,IAAAA,OAAM,sBAAU;AAET,SAASC,WAAWC,IAAA,EAAcC,IAAA,EAAuC;EAC9E,IAAI,OAAOA,IAAA,KAAS,YAAY,CAACH,OAAA,CAAQI,IAAA,CAAKD,IAAI,GAAG;IACnD,MAAM,IAAIE,KAAA,CAAM,GAAGH,IAAI,kDAAkDI,MAAA,CAAOH,IAAI,CAAC,EAAE;EACzF;AACF;AAGO,SAASI,UACdC,OAAA,EACqB;EACrB,IAAAC,KAAM,kBAAQ,IAAAC,GAAI;EAClB,IAAAC,KAAM,YAAuBC,OAAeT,IAAA,EAAAU,EAAA;IAC1C,IAAAC,KAAM,GAAAL,KAAQ,CAAAM,GAAM,CAAAZ,IAAI;IACxB,IAAIW,KAAA,KAAU,QAAWL,KAAA,CAAMO,GAAA,CAAIb,IAAA,EAAMU,EAAE,WAClCC,KAAA,KAAUD,EAAA,EAAI;MACrB,MAAM,IAAIR,KAAA,CAAM,uBAAuBF,IAAI,mBAAmBW,KAAK,QAAQD,EAAE,EAAE;IACjF;EACF;EACA,IAAAI,yBAA6B;IAAAC,iBAAA;IAAAC,cAAA;EAC3B;IACE,SAAMC,SAAU,GAAAZ,OAAA,CAAAa,MAAiB,CAAAC,QAAQ,KAAAC,KAAA,IAAAN,yBAAsB,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACjE,IAAAS,KAAA,GAAAH,KAAA,CAAAI,KAAA;MACA,IAAMC,cAAU;MAChB,IAAAnB,KAAW,CAAAM,GAAA,CAAAW,KAAS,CAAAb,EAAA,MAAMa,KAAA,CAAAb,EAAY,EAAG;QAC3C,UAAAR,KAAA,kBAAAqB,KAAA,CAAAb,EAAA;MACA;MACFF,KAAA,CAAAe,KAAA,CAAAb,EAAA,EAAAa,KAAA,CAAAb,EAAA","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createContext, createElement, useContext, useSyncExternalStore } from "react";
|
|
2
|
+
const ConnectionStoreContext = createContext(null);
|
|
3
|
+
function ConnectionProvider({
|
|
4
|
+
store,
|
|
5
|
+
children
|
|
6
|
+
}) {
|
|
7
|
+
return createElement(ConnectionStoreContext.Provider, {
|
|
8
|
+
value: store
|
|
9
|
+
}, children);
|
|
10
|
+
}
|
|
11
|
+
function useConnectionStore() {
|
|
12
|
+
const store = useContext(ConnectionStoreContext);
|
|
13
|
+
if (!store) throw new Error("useConnectionStore needs a ConnectionProvider above it");
|
|
14
|
+
return store;
|
|
15
|
+
}
|
|
16
|
+
function useConnection() {
|
|
17
|
+
const store = useConnectionStore();
|
|
18
|
+
return useSyncExternalStore(store.subscribe, store.getState, store.getState);
|
|
19
|
+
}
|
|
20
|
+
export { ConnectionProvider, useConnection, useConnectionStore };
|
|
21
|
+
//# sourceMappingURL=react.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","createElement","useContext","useSyncExternalStore","ConnectionStoreContext","ConnectionProvider","store","children","Provider","value","useConnectionStore","Error","useConnection","subscribe","getState"],"sources":["../../../src/core/react.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,aAAA,EACAC,aAAA,EACAC,UAAA,EACAC,oBAAA,QAEK;AAIP,MAAMC,sBAAA,GAAyBJ,aAAA,CAAsC,IAAI;AAQlE,SAASK,mBAAmB;EAAEC,KAAA;EAAOC;AAAS,GAA4B;EAC/E,OAAON,aAAA,CAAcG,sBAAA,CAAuBI,QAAA,EAAU;IAAEC,KAAA,EAAOH;EAAM,GAAGC,QAAQ;AAClF;AAGO,SAASG,mBAAA,EAAsC;EACpD,MAAMJ,KAAA,GAAQJ,UAAA,CAAWE,sBAAsB;EAC/C,IAAI,CAACE,KAAA,EAAO,MAAM,IAAIK,KAAA,CAAM,wDAAwD;EACpF,OAAOL,KAAA;AACT;AAGO,SAASM,cAAA,EAAiC;EAC/C,MAAMN,KAAA,GAAQI,kBAAA,CAAmB;EACjC,OAAOP,oBAAA,CAAqBG,KAAA,CAAMO,SAAA,EAAWP,KAAA,CAAMQ,QAAA,EAAUR,KAAA,CAAMQ,QAAQ;AAC7E","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createContext, createElement, useContext, useSyncExternalStore } from "react";
|
|
2
|
+
var ConnectionStoreContext = createContext(null);
|
|
3
|
+
function ConnectionProvider(param) {
|
|
4
|
+
var {
|
|
5
|
+
store,
|
|
6
|
+
children
|
|
7
|
+
} = param;
|
|
8
|
+
return createElement(ConnectionStoreContext.Provider, {
|
|
9
|
+
value: store
|
|
10
|
+
}, children);
|
|
11
|
+
}
|
|
12
|
+
function useConnectionStore() {
|
|
13
|
+
var store = useContext(ConnectionStoreContext);
|
|
14
|
+
if (!store) throw new Error("useConnectionStore needs a ConnectionProvider above it");
|
|
15
|
+
return store;
|
|
16
|
+
}
|
|
17
|
+
function useConnection() {
|
|
18
|
+
var store = useConnectionStore();
|
|
19
|
+
return useSyncExternalStore(store.subscribe, store.getState, store.getState);
|
|
20
|
+
}
|
|
21
|
+
export { ConnectionProvider, useConnection, useConnectionStore };
|
|
22
|
+
//# sourceMappingURL=react.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","createElement","useContext","useSyncExternalStore","ConnectionStoreContext","ConnectionProvider","param","store","children","Provider","value","useConnectionStore","Error","useConnection","subscribe","getState"],"sources":["../../../src/core/react.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,aAAA,EAAAC,aAAA,EAAAC,UAAA,EAAAC,oBAAA;AAAA,IACEC,sBAAA,GAAAJ,aAAA;AAAA,SACAK,mBAAAC,KAAA;EACA;IAAAC,KAAA;IAAAC;EAAA,IAAAF,KAAA;EACA,OAAAL,aAAA,CAAAG,sBAAA,CAAAK,QAAA;IAAAC,KAEK,EAAAH;EAIP,GAAAC,QAAM;AAQC;AACL,SAAOG,kBAAcA,CAAA;EACvB,IAAAJ,KAAA,GAAAL,UAAA,CAAAE,sBAAA;EAGO,KAAAG,KAAS,YAAAK,KAAA,CAAsC;EACpD,OAAML,KAAA;AACN;AACA,SAAOM,cAAA;EACT,IAAAN,KAAA,GAAAI,kBAAA;EAGO,OAASR,oBAAiC,CAAAI,KAAA,CAAAO,SAAA,EAAAP,KAAA,CAAAQ,QAAA,EAAAR,KAAA,CAAAQ,QAAA;AAC/C;AACA,SACFV,kBAAA,E","ignoreList":[]}
|