@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.
Files changed (120) hide show
  1. package/dist/cjs/core/family.cjs +88 -0
  2. package/dist/cjs/core/family.native.js +115 -0
  3. package/dist/cjs/core/family.native.js.map +1 -0
  4. package/dist/cjs/core/index.cjs +41 -0
  5. package/dist/cjs/core/index.native.js +44 -0
  6. package/dist/cjs/core/index.native.js.map +1 -0
  7. package/dist/cjs/core/message.cjs +89 -0
  8. package/dist/cjs/core/message.native.js +104 -0
  9. package/dist/cjs/core/message.native.js.map +1 -0
  10. package/dist/cjs/core/names.cjs +51 -0
  11. package/dist/cjs/core/names.native.js +95 -0
  12. package/dist/cjs/core/names.native.js.map +1 -0
  13. package/dist/cjs/core/react.cjs +48 -0
  14. package/dist/cjs/core/react.native.js +52 -0
  15. package/dist/cjs/core/react.native.js.map +1 -0
  16. package/dist/cjs/core/store.cjs +450 -0
  17. package/dist/cjs/core/store.native.js +637 -0
  18. package/dist/cjs/core/store.native.js.map +1 -0
  19. package/dist/cjs/core/types.cjs +18 -0
  20. package/dist/cjs/core/types.native.js +21 -0
  21. package/dist/cjs/core/types.native.js.map +1 -0
  22. package/dist/cjs/index.cjs +2 -1
  23. package/dist/cjs/index.native.js +1 -0
  24. package/dist/cjs/index.native.js.map +1 -1
  25. package/dist/esm/core/family.mjs +62 -0
  26. package/dist/esm/core/family.mjs.map +1 -0
  27. package/dist/esm/core/family.native.js +86 -0
  28. package/dist/esm/core/family.native.js.map +1 -0
  29. package/dist/esm/core/index.mjs +7 -0
  30. package/dist/esm/core/index.mjs.map +1 -0
  31. package/dist/esm/core/index.native.js +7 -0
  32. package/dist/esm/core/index.native.js.map +1 -0
  33. package/dist/esm/core/message.mjs +63 -0
  34. package/dist/esm/core/message.mjs.map +1 -0
  35. package/dist/esm/core/message.native.js +75 -0
  36. package/dist/esm/core/message.native.js.map +1 -0
  37. package/dist/esm/core/names.mjs +25 -0
  38. package/dist/esm/core/names.mjs.map +1 -0
  39. package/dist/esm/core/names.native.js +66 -0
  40. package/dist/esm/core/names.native.js.map +1 -0
  41. package/dist/esm/core/react.mjs +21 -0
  42. package/dist/esm/core/react.mjs.map +1 -0
  43. package/dist/esm/core/react.native.js +22 -0
  44. package/dist/esm/core/react.native.js.map +1 -0
  45. package/dist/esm/core/store.mjs +424 -0
  46. package/dist/esm/core/store.mjs.map +1 -0
  47. package/dist/esm/core/store.native.js +608 -0
  48. package/dist/esm/core/store.native.js.map +1 -0
  49. package/dist/esm/core/types.mjs +2 -0
  50. package/dist/esm/core/types.mjs.map +1 -0
  51. package/dist/esm/core/types.native.js +2 -0
  52. package/dist/esm/core/types.native.js.map +1 -0
  53. package/dist/esm/index.mjs +1 -0
  54. package/dist/esm/index.mjs.map +1 -1
  55. package/dist/esm/index.native.js +1 -0
  56. package/dist/esm/index.native.js.map +1 -1
  57. package/dist/jsx/core/family.mjs +62 -0
  58. package/dist/jsx/core/family.mjs.map +1 -0
  59. package/dist/jsx/core/family.native.js +115 -0
  60. package/dist/jsx/core/family.native.js.map +1 -0
  61. package/dist/jsx/core/index.mjs +7 -0
  62. package/dist/jsx/core/index.mjs.map +1 -0
  63. package/dist/jsx/core/index.native.js +44 -0
  64. package/dist/jsx/core/index.native.js.map +1 -0
  65. package/dist/jsx/core/message.mjs +63 -0
  66. package/dist/jsx/core/message.mjs.map +1 -0
  67. package/dist/jsx/core/message.native.js +104 -0
  68. package/dist/jsx/core/message.native.js.map +1 -0
  69. package/dist/jsx/core/names.mjs +25 -0
  70. package/dist/jsx/core/names.mjs.map +1 -0
  71. package/dist/jsx/core/names.native.js +95 -0
  72. package/dist/jsx/core/names.native.js.map +1 -0
  73. package/dist/jsx/core/react.mjs +21 -0
  74. package/dist/jsx/core/react.mjs.map +1 -0
  75. package/dist/jsx/core/react.native.js +52 -0
  76. package/dist/jsx/core/react.native.js.map +1 -0
  77. package/dist/jsx/core/store.mjs +424 -0
  78. package/dist/jsx/core/store.mjs.map +1 -0
  79. package/dist/jsx/core/store.native.js +637 -0
  80. package/dist/jsx/core/store.native.js.map +1 -0
  81. package/dist/jsx/core/types.mjs +2 -0
  82. package/dist/jsx/core/types.mjs.map +1 -0
  83. package/dist/jsx/core/types.native.js +21 -0
  84. package/dist/jsx/core/types.native.js.map +1 -0
  85. package/dist/jsx/index.js +1 -0
  86. package/dist/jsx/index.js.map +1 -1
  87. package/dist/jsx/index.mjs +1 -0
  88. package/dist/jsx/index.mjs.map +1 -1
  89. package/dist/jsx/index.native.js +1 -0
  90. package/dist/jsx/index.native.js.map +1 -1
  91. package/package.json +6 -6
  92. package/src/core/family.spec.ts +117 -0
  93. package/src/core/family.ts +103 -0
  94. package/src/core/imports.spec.ts +82 -0
  95. package/src/core/index.ts +47 -0
  96. package/src/core/message.spec.ts +178 -0
  97. package/src/core/message.ts +119 -0
  98. package/src/core/names.ts +29 -0
  99. package/src/core/react.spec.tsx +75 -0
  100. package/src/core/react.ts +34 -0
  101. package/src/core/store.spec.ts +890 -0
  102. package/src/core/store.ts +558 -0
  103. package/src/core/types.ts +96 -0
  104. package/src/index.ts +4 -0
  105. package/types/core/family.d.ts +44 -0
  106. package/types/core/family.d.ts.map +1 -0
  107. package/types/core/index.d.ts +7 -0
  108. package/types/core/index.d.ts.map +1 -0
  109. package/types/core/message.d.ts +44 -0
  110. package/types/core/message.d.ts.map +1 -0
  111. package/types/core/names.d.ts +7 -0
  112. package/types/core/names.d.ts.map +1 -0
  113. package/types/core/react.d.ts +14 -0
  114. package/types/core/react.d.ts.map +1 -0
  115. package/types/core/store.d.ts +64 -0
  116. package/types/core/store.d.ts.map +1 -0
  117. package/types/core/types.d.ts +88 -0
  118. package/types/core/types.d.ts.map +1 -0
  119. package/types/index.d.ts +1 -0
  120. 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":[]}
@@ -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);
@@ -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":"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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":[]}