@multiplatform.one/web3 7.25.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/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 +2 -1
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.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 +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.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 +1 -0
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +1 -0
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/package.json +6 -6
- 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 +4 -0
- 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 +1 -0
- package/types/index.d.ts.map +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __copyProps = (to, from, except, desc) => {
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
10
|
+
get: () => from[key],
|
|
11
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
17
|
+
value: true
|
|
18
|
+
}), mod);
|
|
19
|
+
var types_exports = {};
|
|
20
|
+
module.exports = __toCommonJS(types_exports);
|
|
21
|
+
//# sourceMappingURL=types.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","types_exports"],"sources":["../../../src/core/types.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA","ignoreList":[]}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -68,4 +68,5 @@ var import_examples = require("./examples/index.cjs");
|
|
|
68
68
|
var import_chains = require("wagmi/chains");
|
|
69
69
|
__reExport(index_exports, require("./bridge/index.cjs"), module.exports);
|
|
70
70
|
__reExport(index_exports, require("./message/index.cjs"), module.exports);
|
|
71
|
-
__reExport(index_exports, require("./clients/index.cjs"), module.exports);
|
|
71
|
+
__reExport(index_exports, require("./clients/index.cjs"), module.exports);
|
|
72
|
+
__reExport(index_exports, require("./core/index.cjs"), module.exports);
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -71,4 +71,5 @@ var import_chains = require("wagmi/chains");
|
|
|
71
71
|
__reExport(index_exports, require("./bridge/index.native.js"), module.exports);
|
|
72
72
|
__reExport(index_exports, require("./message/index.native.js"), module.exports);
|
|
73
73
|
__reExport(index_exports, require("./clients/index.native.js"), module.exports);
|
|
74
|
+
__reExport(index_exports, require("./core/index.native.js"), module.exports);
|
|
74
75
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","ConnectKitButton","import_components","LockContract","import_examples","NetworkSwitcher","TransactionStatusComponent","TransactionStatus","WalletAvatar","WalletButton","WalletProvider","import_providers","WalletStatus","arbitrum","import_chains","base","defaultChains","lockAbi","mainnet","optimism","polygon","sepolia","useAccount","import_hooks","useBalance","useBlockNumber","useChainId","useChains","useConnect","useContractRead","useContractWrite","useDisconnect","useEnsAvatar","useEnsName","useReadContract","useSignMessage","useSimulateContract","useSwitchChain","useWaitForTransactionReceipt","useWallet","useWalletBridge","useWeb3Config","useWriteContract","module","exports","require","__reExport"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","ConnectKitButton","import_components","LockContract","import_examples","NetworkSwitcher","TransactionStatusComponent","TransactionStatus","WalletAvatar","WalletButton","WalletProvider","import_providers","WalletStatus","arbitrum","import_chains","base","defaultChains","lockAbi","mainnet","optimism","polygon","sepolia","useAccount","import_hooks","useBalance","useBlockNumber","useChainId","useChains","useConnect","useContractRead","useContractWrite","useDisconnect","useEnsAvatar","useEnsName","useReadContract","useSignMessage","useSimulateContract","useSwitchChain","useWaitForTransactionReceipt","useWallet","useWalletBridge","useWeb3Config","useWriteContract","module","exports","require","__reExport"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createMessageRegistry } from "./message.mjs";
|
|
2
|
+
import { assertName, nameTable } from "./names.mjs";
|
|
3
|
+
function defineWalletFamily(definition) {
|
|
4
|
+
assertName("wallet family id", definition.id);
|
|
5
|
+
const aliases = [...(definition.aliases ?? [])];
|
|
6
|
+
for (const alias of aliases) {
|
|
7
|
+
assertName(`wallet family ${definition.id} alias`, alias);
|
|
8
|
+
if (alias === definition.id) {
|
|
9
|
+
throw new Error(`wallet family ${definition.id} lists its own id as an alias`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
if (typeof definition.label !== "string" || !definition.label.trim()) {
|
|
13
|
+
throw new Error(`wallet family ${definition.id} needs a label`);
|
|
14
|
+
}
|
|
15
|
+
const {
|
|
16
|
+
message
|
|
17
|
+
} = definition;
|
|
18
|
+
if (!message || typeof message.header !== "string" || !message.header) {
|
|
19
|
+
throw new Error(`wallet family ${definition.id} needs a message spec with a header`);
|
|
20
|
+
}
|
|
21
|
+
const connectionless = definition.connectionless === true;
|
|
22
|
+
if (connectionless && definition.driver) {
|
|
23
|
+
throw new Error(`wallet family ${definition.id} is connectionless and cannot have a driver`);
|
|
24
|
+
}
|
|
25
|
+
if (!connectionless && typeof definition.driver !== "function") {
|
|
26
|
+
throw new Error(`wallet family ${definition.id} needs a driver, or connectionless: true`);
|
|
27
|
+
}
|
|
28
|
+
return Object.freeze({
|
|
29
|
+
...definition,
|
|
30
|
+
aliases: Object.freeze(aliases),
|
|
31
|
+
connectionless,
|
|
32
|
+
message: Object.freeze({
|
|
33
|
+
...message
|
|
34
|
+
}),
|
|
35
|
+
...(definition.screens ? {
|
|
36
|
+
screens: Object.freeze([...definition.screens])
|
|
37
|
+
} : {})
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function createFamilyRegistry(families) {
|
|
41
|
+
const list = Object.freeze([...families]);
|
|
42
|
+
const names = nameTable(list);
|
|
43
|
+
const byId = new Map(list.map(family => [family.id, family]));
|
|
44
|
+
const get = family => {
|
|
45
|
+
const id = names.get(family);
|
|
46
|
+
return id === void 0 ? void 0 : byId.get(id);
|
|
47
|
+
};
|
|
48
|
+
return {
|
|
49
|
+
families: list,
|
|
50
|
+
get,
|
|
51
|
+
require(family) {
|
|
52
|
+
const found = get(family);
|
|
53
|
+
if (found === void 0) {
|
|
54
|
+
throw new Error(`wallet family ${family} is not registered; registered: ${list.map(entry => entry.id).join(", ") || "none"}`);
|
|
55
|
+
}
|
|
56
|
+
return found;
|
|
57
|
+
},
|
|
58
|
+
messages: createMessageRegistry(list)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export { createFamilyRegistry, defineWalletFamily };
|
|
62
|
+
//# sourceMappingURL=family.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createMessageRegistry","assertName","nameTable","defineWalletFamily","definition","id","aliases","alias","Error","label","trim","message","header","connectionless","driver","Object","freeze","screens","createFamilyRegistry","families","list","names","byId","Map","map","family","get","require","found","entry","join","messages"],"sources":["../../../src/core/family.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { createMessageRegistry } from "./message.native.js";
|
|
2
|
+
import { assertName, nameTable } from "./names.native.js";
|
|
3
|
+
function defineWalletFamily(definition) {
|
|
4
|
+
var _definition_aliases;
|
|
5
|
+
assertName("wallet family id", definition.id);
|
|
6
|
+
var aliases = [...((_definition_aliases = definition.aliases) !== null && _definition_aliases !== void 0 ? _definition_aliases : [])];
|
|
7
|
+
var _iteratorNormalCompletion = true,
|
|
8
|
+
_didIteratorError = false,
|
|
9
|
+
_iteratorError = void 0;
|
|
10
|
+
try {
|
|
11
|
+
for (var _iterator = aliases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
12
|
+
var alias = _step.value;
|
|
13
|
+
assertName(`wallet family ${definition.id} alias`, alias);
|
|
14
|
+
if (alias === definition.id) {
|
|
15
|
+
throw new Error(`wallet family ${definition.id} lists its own id as an alias`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
} catch (err) {
|
|
19
|
+
_didIteratorError = true;
|
|
20
|
+
_iteratorError = err;
|
|
21
|
+
} finally {
|
|
22
|
+
try {
|
|
23
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
24
|
+
_iterator.return();
|
|
25
|
+
}
|
|
26
|
+
} finally {
|
|
27
|
+
if (_didIteratorError) {
|
|
28
|
+
throw _iteratorError;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (typeof definition.label !== "string" || !definition.label.trim()) {
|
|
33
|
+
throw new Error(`wallet family ${definition.id} needs a label`);
|
|
34
|
+
}
|
|
35
|
+
var {
|
|
36
|
+
message
|
|
37
|
+
} = definition;
|
|
38
|
+
if (!message || typeof message.header !== "string" || !message.header) {
|
|
39
|
+
throw new Error(`wallet family ${definition.id} needs a message spec with a header`);
|
|
40
|
+
}
|
|
41
|
+
var connectionless = definition.connectionless === true;
|
|
42
|
+
if (connectionless && definition.driver) {
|
|
43
|
+
throw new Error(`wallet family ${definition.id} is connectionless and cannot have a driver`);
|
|
44
|
+
}
|
|
45
|
+
if (!connectionless && typeof definition.driver !== "function") {
|
|
46
|
+
throw new Error(`wallet family ${definition.id} needs a driver, or connectionless: true`);
|
|
47
|
+
}
|
|
48
|
+
return Object.freeze({
|
|
49
|
+
...definition,
|
|
50
|
+
aliases: Object.freeze(aliases),
|
|
51
|
+
connectionless,
|
|
52
|
+
message: Object.freeze({
|
|
53
|
+
...message
|
|
54
|
+
}),
|
|
55
|
+
...(definition.screens ? {
|
|
56
|
+
screens: Object.freeze([...definition.screens])
|
|
57
|
+
} : {})
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function createFamilyRegistry(families) {
|
|
61
|
+
var list = Object.freeze([...families]);
|
|
62
|
+
var names = nameTable(list);
|
|
63
|
+
var byId = new Map(list.map(function (family) {
|
|
64
|
+
return [family.id, family];
|
|
65
|
+
}));
|
|
66
|
+
var get = function get2(family) {
|
|
67
|
+
var id = names.get(family);
|
|
68
|
+
return id === void 0 ? void 0 : byId.get(id);
|
|
69
|
+
};
|
|
70
|
+
return {
|
|
71
|
+
families: list,
|
|
72
|
+
get,
|
|
73
|
+
require(family) {
|
|
74
|
+
var found = get(family);
|
|
75
|
+
if (found === void 0) {
|
|
76
|
+
throw new Error(`wallet family ${family} is not registered; registered: ${list.map(function (entry) {
|
|
77
|
+
return entry.id;
|
|
78
|
+
}).join(", ") || "none"}`);
|
|
79
|
+
}
|
|
80
|
+
return found;
|
|
81
|
+
},
|
|
82
|
+
messages: createMessageRegistry(list)
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export { createFamilyRegistry, defineWalletFamily };
|
|
86
|
+
//# sourceMappingURL=family.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createMessageRegistry","assertName","nameTable","defineWalletFamily","definition","_definition_aliases","id","aliases","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","alias","value","Error","err","return","label","trim","message","header","connectionless","driver","Object","freeze","screens"],"sources":["../../../src/core/family.ts"],"sourcesContent":[null],"mappings":"AAEA,SAAAA,qBAAA;AAAA,SACEC,UAAA,EAAAC,SAAA;AAAA,SAGKC,mBAAAC,UAAA;EACP,IAAAC,mBAAqB;EA8BdJ,UAAS,mBAAmB,EAAAG,UAAkD,CAAAE,EAAA;EACnF,IAAAC,OAAW,IACX,KAAMF,mBAAe,GAAAD,UAAW,CAAAG,OAAc,cAAAF,mBAAA,cAAAA,mBAAA,OAC9C;EACE,IAAAG,yBAAW,GAAiB;IAAAC,iBAAuB,GAAK;IAAAC,cAAA;EACxD;IACE,SAAMC,SAAU,GAAAJ,OAAA,CAAAK,MAAiB,CAAAC,QAAA,EAAW,GAAEC,KAAA,IAAAN,yBAA+B,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MAC/E,IAAAS,KAAA,GAAAH,KAAA,CAAAI,KAAA;MACFjB,UAAA,kBAAAG,UAAA,CAAAE,EAAA,UAAAW,KAAA;MACI,IAAAA,KAAO,KAAAb,UAAW,CAAAE,EAAA,EAAU;QAC9B,MAAU,IAAAa,KAAM,kBAAiBf,UAAa,CAAAE,EAAA,+BAAgB;MAChE;IACA;EACA,SAAKc,GAAA;IACHX,iBAAgB;IAClBC,cAAA,GAAAU,GAAA;EACA,UAAM;IACN,IAAI;MACF,IAAM,CAAAZ,yBAAU,IAAiBG,SAAW,CAAEU,MAAA;QAChDV,SAAA,CAAAU,MAAA;MACI;IACF,UAAU;MACZ,IAAAZ,iBAAA;QACA,MAAOC,cAAc;MACnB;IACA;EAA8B;EAC9B,IACA,OAASN,UAAO,CAAAkB,KAAS,KAAG,QAAS,KAAAlB,UAAA,CAAAkB,KAAA,CAAAC,IAAA;IACrC,MAAI,IAAAJ,KAAW,kBAAYf,UAAgB,CAAAE,EAAA,gBAAW;EACxD;EACF;IAAAkB;EAAA,IAAApB,UAAA;EAaO,KAAAoB,OAAS,WAAAA,OAAqB,CAAAC,MAAA,KAAmD,aAAAD,OAAA,CAAAC,MAAA;IACtF,MAAM,IAAAN,KAAO,kBAAkBf,UAAS,CAAAE,EAAA;EACxC;EACA,IAAAoB,cAAiB,GAAItB,UAAU,CAAAsB,cAAY,KAAO,IAAI;EACtD,IAAAA,cAAa,IAAAtB,UAAmB,CAAAuB,MAAA;IAC9B,MAAM,IAAAR,KAAK,kBAAgBf,UAAA,CAAAE,EAAA;EAC3B;EACF,KAAAoB,cAAA,WAAAtB,UAAA,CAAAuB,MAAA;IACA,MAAO,IAAAR,KAAA,kBAAAf,UAAA,CAAAE,EAAA;EAAA;EACK,OACVsB,MAAA,CAAAC,MAAA;IACA,GAAAzB,UAAQ;IACNG,OAAA,EAAMqB,MAAA,CAAQC,MAAI,CAAAtB,OAAM;IACxBmB,cAAI;IACFF,OAAA,EAAAI,MAAU,CAAAC,MAAA;MAAA,GAAAL;IACoG;IAC9G,IACFpB,UAAA,CAAA0B,OAAA;MACAA,OAAO,EAAAF,MAAA,CAAAC,MAAA,EACT,GAAAzB,UAAA,CAAA0B,OAAA,CACA;IACF;EACF","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createFamilyRegistry, defineWalletFamily } from "./family.mjs";
|
|
2
|
+
import { createMessageRegistry, formatWalletMessage } from "./message.mjs";
|
|
3
|
+
import { createConnectionStore, defaultConnectionStorageKey } from "./store.mjs";
|
|
4
|
+
import { ConnectionProvider, useConnection, useConnectionStore } from "./react.mjs";
|
|
5
|
+
import { UnsupportedClientMethodError } from "../clients/types.mjs";
|
|
6
|
+
export { ConnectionProvider, UnsupportedClientMethodError, createConnectionStore, createFamilyRegistry, createMessageRegistry, defaultConnectionStorageKey, defineWalletFamily, formatWalletMessage, useConnection, useConnectionStore };
|
|
7
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFamilyRegistry","defineWalletFamily","createMessageRegistry","formatWalletMessage","createConnectionStore","defaultConnectionStorageKey","ConnectionProvider","useConnection","useConnectionStore","UnsupportedClientMethodError"],"sources":["../../../src/core/index.ts"],"sourcesContent":[null],"mappings":"AAGA,SACEA,oBAAA,EACAC,kBAAA,QAIK;AACP,SACEC,qBAAA,EACAC,mBAAA,QAIK;AACP,SACEC,qBAAA,EACAC,2BAAA,QAIK;AACP,SACEC,kBAAA,EACAC,aAAA,EACAC,kBAAA,QAEK;AAYP,SACEC,4BAAA,QAIK","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createFamilyRegistry, defineWalletFamily } from "./family.native.js";
|
|
2
|
+
import { createMessageRegistry, formatWalletMessage } from "./message.native.js";
|
|
3
|
+
import { createConnectionStore, defaultConnectionStorageKey } from "./store.native.js";
|
|
4
|
+
import { ConnectionProvider, useConnection, useConnectionStore } from "./react.native.js";
|
|
5
|
+
import { UnsupportedClientMethodError } from "../clients/types.native.js";
|
|
6
|
+
export { ConnectionProvider, UnsupportedClientMethodError, createConnectionStore, createFamilyRegistry, createMessageRegistry, defaultConnectionStorageKey, defineWalletFamily, formatWalletMessage, useConnection, useConnectionStore };
|
|
7
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFamilyRegistry","defineWalletFamily","createMessageRegistry","formatWalletMessage","createConnectionStore","defaultConnectionStorageKey","ConnectionProvider","useConnection","useConnectionStore","UnsupportedClientMethodError"],"sources":["../../../src/core/index.ts"],"sourcesContent":[null],"mappings":"AAGA,SAAAA,oBAAA,EAAAC,kBAAA;AAAA,SACEC,qBAAA,EAAAC,mBAAA;AAAA,SACAC,qBAAA,EAAAC,2BAAA;AAAA,SAIKC,kBAAA,EAAAC,aAAA,EAAAC,kBAAA;AACP,SAAAC,4BAAA;AAAA,SAEEH,kBAAA,EAAAG,4BAIK,EACPL,qBAAA,EACEJ,oBAAA,EACAE,qBAAA,EAAAG,2BAIK,EACPJ,kBAAA,EACEE,mBAAA,EACAI,aAAA,EACAC,kBAAA","ignoreList":[]}
|
|
@@ -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":"AACA,SAASA,SAAA,QAAiB;AA2C1B,SAASC,WAAWC,KAAA,EAAeC,KAAA,EAAkC;EACnE,IAAIA,KAAA,IAAS,SAASC,IAAA,CAAKD,KAAK,GAAG;IACjC,MAAM,IAAIE,KAAA,CAAM,mBAAmBH,KAAK,wBAAwB;EAClE;AACF;AAEA,SAASI,aAAA,EAAiD;EACxD,MAAMC,QAAA,GAAYC,UAAA,CAAiED,QAAA;EACnF,OAAO;IAAEE,IAAA,EAAMF,QAAA,EAAUE,IAAA,IAAQ;IAAIC,MAAA,EAAQH,QAAA,EAAUG,MAAA,IAAU;EAAG;AACtE;AAGO,SAASC,oBACdC,IAAA,EACAC,IAAA,EACAC,MAAA,GAAS,UACD;EACR,MAAMC,IAAA,GAAOT,YAAA,CAAa;EAC1B,MAAMU,MAAA,GAASH,IAAA,CAAKG,MAAA,IAAUD,IAAA,CAAKN,IAAA;EACnC,IAAI,CAACO,MAAA,EAAQ;IACX,MAAM,IAAIX,KAAA,CACR,oFACF;EACF;EACA,MAAMY,UAAA,GAAaF,IAAA,CAAKL,MAAA,IAAUK,IAAA,CAAKL,MAAA,KAAW,SAASK,IAAA,CAAKL,MAAA,GAAS;EACzE,MAAMQ,GAAA,GAAML,IAAA,CAAKK,GAAA,KAAQD,UAAA,IAAc,WAAWD,MAAM;EACxD,MAAMG,SAAA,GAAYN,IAAA,CAAKM,SAAA,KAAc,SAAYP,IAAA,CAAKO,SAAA,GAAYN,IAAA,CAAKM,SAAA;EACvElB,UAAA,CAAW,UAAUe,MAAM;EAC3Bf,UAAA,CAAW,OAAOiB,GAAG;EACrBjB,UAAA,CAAW,aAAakB,SAAS;EACjC,MAAMC,KAAA,GAAQ,CAAC,GAAGJ,MAAM,IAAIJ,IAAA,CAAKS,MAAM,EAAE;EACzC,IAAIT,IAAA,CAAKU,OAAA,KAAY,OAAO;IAC1B,IAAI,CAACT,IAAA,CAAKS,OAAA,EAAS,MAAM,IAAIjB,KAAA,CAAM,mBAAmBS,MAAM,mBAAmB;IAC/EM,KAAA,CAAMG,IAAA,CAAKX,IAAA,CAAKY,gBAAA,GAAmBZ,IAAA,CAAKY,gBAAA,CAAiBX,IAAA,CAAKS,OAAO,IAAIT,IAAA,CAAKS,OAAO;EACvF;EACAF,KAAA,CAAMG,IAAA,CAAK,EAAE;EACb,IAAIJ,SAAA,EAAWC,KAAA,CAAMG,IAAA,CAAKJ,SAAA,EAAW,EAAE,WAC9BP,IAAA,CAAKa,iBAAA,EAAmBL,KAAA,CAAMG,IAAA,CAAK,EAAE;EAC9CH,KAAA,CAAMG,IAAA,CAAK,QAAQL,GAAG,IAAI,YAAYL,IAAA,CAAKa,OAAA,IAAW,GAAG,EAAE;EAC3D,IAAId,IAAA,CAAKe,OAAA,KAAY,MAAM;IACzB,MAAMA,OAAA,GAAUf,IAAA,CAAKgB,cAAA,GAChBf,IAAA,CAAKc,OAAA,IAAWf,IAAA,CAAKe,OAAA,GACtB,OAAOd,IAAA,CAAKc,OAAA,KAAY,WACtBd,IAAA,CAAKc,OAAA,GACLf,IAAA,CAAKe,OAAA;IACXP,KAAA,CAAMG,IAAA,CAAK,aAAaI,OAAO,EAAE;EACnC;EACAP,KAAA,CAAMG,IAAA,CAAK,UAAUV,IAAA,CAAKgB,KAAK,IAAI,cAAchB,IAAA,CAAKiB,QAAA,KAAY,mBAAIC,IAAA,CAAK,GAAEC,WAAA,CAAY,CAAC,EAAE;EAC5F,OAAOZ,KAAA,CAAMa,IAAA,CAAK,IAAI;AACxB;AAGO,SAASC,sBAAsBC,QAAA,EAA0D;EAC9F,MAAMC,IAAA,GAAO,CAAC,GAAGD,QAAQ;EACzB,MAAME,KAAA,GAAQrC,SAAA,CAAUoC,IAAI;EAC5B,MAAME,KAAA,GAAQ,IAAIC,GAAA,CAAIH,IAAA,CAAKI,GAAA,CAAK1B,MAAA,IAAW,CAACA,MAAA,CAAO2B,EAAA,EAAI3B,MAAA,CAAO4B,OAAO,CAAC,CAAC;EACvE,MAAM9B,IAAA,GAAQE,MAAA,IAAmB;IAC/B,MAAM2B,EAAA,GAAKJ,KAAA,CAAMM,GAAA,CAAI7B,MAAM;IAC3B,OAAO2B,EAAA,KAAO,SAAY,SAAYH,KAAA,CAAMK,GAAA,CAAIF,EAAE;EACpD;EACA,OAAO;IACLN,QAAA,EAAUC,IAAA,CAAKI,GAAA,CAAK1B,MAAA,IAAWA,MAAA,CAAO2B,EAAE;IACxCG,OAAA,EAAU9B,MAAA,IAAWuB,KAAA,CAAMM,GAAA,CAAI7B,MAAM;IACrCF,IAAA;IACAiC,MAAM/B,MAAA,EAAQD,IAAA,EAAM;MAClB,MAAMiC,KAAA,GAAQlC,IAAA,CAAKE,MAAM;MACzB,IAAIgC,KAAA,KAAU,QAAW;QACvB,MAAM,IAAIzC,KAAA,CACR,gCAAgCS,MAAM,iBAAiBsB,IAAA,CAAKI,GAAA,CAAKO,KAAA,IAAUA,KAAA,CAAMN,EAAE,EAAER,IAAA,CAAK,IAAI,KAAK,MAAM,EAC3G;MACF;MACA,OAAOtB,mBAAA,CAAoBmC,KAAA,EAAOjC,IAAA,EAAMwB,KAAA,CAAMM,GAAA,CAAI7B,MAAM,CAAC;IAC3D;EACF;AACF","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":[]}
|