@qubic-labs/react 1.0.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 (102) hide show
  1. package/README.md +61 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/hooks/use-balance.d.ts +15 -0
  7. package/dist/src/hooks/use-balance.d.ts.map +1 -0
  8. package/dist/src/hooks/use-balance.js +19 -0
  9. package/dist/src/hooks/use-balance.js.map +1 -0
  10. package/dist/src/hooks/use-contract-mutation.d.ts +11 -0
  11. package/dist/src/hooks/use-contract-mutation.d.ts.map +1 -0
  12. package/dist/src/hooks/use-contract-mutation.js +10 -0
  13. package/dist/src/hooks/use-contract-mutation.js.map +1 -0
  14. package/dist/src/hooks/use-contract-procedure.d.ts +11 -0
  15. package/dist/src/hooks/use-contract-procedure.d.ts.map +1 -0
  16. package/dist/src/hooks/use-contract-procedure.js +10 -0
  17. package/dist/src/hooks/use-contract-procedure.js.map +1 -0
  18. package/dist/src/hooks/use-contract-query.d.ts +8 -0
  19. package/dist/src/hooks/use-contract-query.d.ts.map +1 -0
  20. package/dist/src/hooks/use-contract-query.js +34 -0
  21. package/dist/src/hooks/use-contract-query.js.map +1 -0
  22. package/dist/src/hooks/use-contract.d.ts +3 -0
  23. package/dist/src/hooks/use-contract.d.ts.map +1 -0
  24. package/dist/src/hooks/use-contract.js +10 -0
  25. package/dist/src/hooks/use-contract.js.map +1 -0
  26. package/dist/src/hooks/use-last-processed-tick.d.ts +9 -0
  27. package/dist/src/hooks/use-last-processed-tick.d.ts.map +1 -0
  28. package/dist/src/hooks/use-last-processed-tick.js +12 -0
  29. package/dist/src/hooks/use-last-processed-tick.js.map +1 -0
  30. package/dist/src/hooks/use-send-and-confirm.d.ts +11 -0
  31. package/dist/src/hooks/use-send-and-confirm.d.ts.map +1 -0
  32. package/dist/src/hooks/use-send-and-confirm.js +10 -0
  33. package/dist/src/hooks/use-send-and-confirm.js.map +1 -0
  34. package/dist/src/hooks/use-send.d.ts +11 -0
  35. package/dist/src/hooks/use-send.d.ts.map +1 -0
  36. package/dist/src/hooks/use-send.js +10 -0
  37. package/dist/src/hooks/use-send.js.map +1 -0
  38. package/dist/src/hooks/use-tick-info.d.ts +10 -0
  39. package/dist/src/hooks/use-tick-info.d.ts.map +1 -0
  40. package/dist/src/hooks/use-tick-info.js +12 -0
  41. package/dist/src/hooks/use-tick-info.js.map +1 -0
  42. package/dist/src/hooks/use-transactions.d.ts +22 -0
  43. package/dist/src/hooks/use-transactions.d.ts.map +1 -0
  44. package/dist/src/hooks/use-transactions.js +70 -0
  45. package/dist/src/hooks/use-transactions.js.map +1 -0
  46. package/dist/src/index.d.ts +42 -0
  47. package/dist/src/index.d.ts.map +1 -0
  48. package/dist/src/index.js +22 -0
  49. package/dist/src/index.js.map +1 -0
  50. package/dist/src/providers/query-provider.d.ts +8 -0
  51. package/dist/src/providers/query-provider.d.ts.map +1 -0
  52. package/dist/src/providers/query-provider.js +8 -0
  53. package/dist/src/providers/query-provider.js.map +1 -0
  54. package/dist/src/providers/sdk-provider.d.ts +842 -0
  55. package/dist/src/providers/sdk-provider.d.ts.map +1 -0
  56. package/dist/src/providers/sdk-provider.js +27 -0
  57. package/dist/src/providers/sdk-provider.js.map +1 -0
  58. package/dist/src/providers/wallet-provider.d.ts +33 -0
  59. package/dist/src/providers/wallet-provider.d.ts.map +1 -0
  60. package/dist/src/providers/wallet-provider.js +176 -0
  61. package/dist/src/providers/wallet-provider.js.map +1 -0
  62. package/dist/src/providers/wallet-provider.test.d.ts +2 -0
  63. package/dist/src/providers/wallet-provider.test.d.ts.map +1 -0
  64. package/dist/src/providers/wallet-provider.test.js +31 -0
  65. package/dist/src/providers/wallet-provider.test.js.map +1 -0
  66. package/dist/src/qbi-types.d.ts +62 -0
  67. package/dist/src/qbi-types.d.ts.map +1 -0
  68. package/dist/src/qbi-types.js +1 -0
  69. package/dist/src/qbi-types.js.map +1 -0
  70. package/dist/src/query/keys.d.ts +8 -0
  71. package/dist/src/query/keys.d.ts.map +1 -0
  72. package/dist/src/query/keys.js +8 -0
  73. package/dist/src/query/keys.js.map +1 -0
  74. package/dist/src/vault/browser.d.ts +14 -0
  75. package/dist/src/vault/browser.d.ts.map +1 -0
  76. package/dist/src/vault/browser.js +46 -0
  77. package/dist/src/vault/browser.js.map +1 -0
  78. package/dist/src/vault/node.d.ts +13 -0
  79. package/dist/src/vault/node.d.ts.map +1 -0
  80. package/dist/src/vault/node.js +40 -0
  81. package/dist/src/vault/node.js.map +1 -0
  82. package/dist/src/wallet/metamask-snap.d.ts +23 -0
  83. package/dist/src/wallet/metamask-snap.d.ts.map +1 -0
  84. package/dist/src/wallet/metamask-snap.js +95 -0
  85. package/dist/src/wallet/metamask-snap.js.map +1 -0
  86. package/dist/src/wallet/types.d.ts +51 -0
  87. package/dist/src/wallet/types.d.ts.map +1 -0
  88. package/dist/src/wallet/types.js +1 -0
  89. package/dist/src/wallet/types.js.map +1 -0
  90. package/dist/src/wallet/utils.d.ts +3 -0
  91. package/dist/src/wallet/utils.d.ts.map +1 -0
  92. package/dist/src/wallet/utils.js +18 -0
  93. package/dist/src/wallet/utils.js.map +1 -0
  94. package/dist/src/wallet/vault.d.ts +19 -0
  95. package/dist/src/wallet/vault.d.ts.map +1 -0
  96. package/dist/src/wallet/vault.js +57 -0
  97. package/dist/src/wallet/vault.js.map +1 -0
  98. package/dist/src/wallet/walletconnect.d.ts +41 -0
  99. package/dist/src/wallet/walletconnect.d.ts.map +1 -0
  100. package/dist/src/wallet/walletconnect.js +152 -0
  101. package/dist/src/wallet/walletconnect.js.map +1 -0
  102. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-provider.d.ts","sourceRoot":"","sources":["../../../src/providers/sdk-provider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createSdk } from "@qubic-labs/sdk";
3
+ import { createContext, useContext, useMemo } from "react";
4
+ import { useContract } from "../hooks/use-contract.js";
5
+ import { useContractMutation } from "../hooks/use-contract-mutation.js";
6
+ import { useContractQuery } from "../hooks/use-contract-query.js";
7
+ const SdkContext = createContext(null);
8
+ export function SdkProvider({ sdk, config, children }) {
9
+ const value = useMemo(() => sdk ?? createSdk(config), [sdk, config]);
10
+ return _jsx(SdkContext.Provider, { value: value, children: children });
11
+ }
12
+ export function useSdk() {
13
+ const value = useContext(SdkContext);
14
+ if (!value)
15
+ throw new Error("useSdk must be used within SdkProvider");
16
+ return value;
17
+ }
18
+ export function createSdkProvider() {
19
+ return {
20
+ SdkProvider,
21
+ useSdk,
22
+ useContract: (name) => useContract(name),
23
+ useContractQuery: (name, entry, input, options) => useContractQuery(name, entry, input, options),
24
+ useContractMutation: (name, options) => useContractMutation(name, options),
25
+ };
26
+ }
27
+ //# sourceMappingURL=sdk-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-provider.js","sourceRoot":"","sources":["../../../src/providers/sdk-provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAYlE,MAAM,UAAU,GAAG,aAAa,CAAsC,IAAI,CAAC,CAAC;AAQ5E,MAAM,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAoB;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE,OAAO,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAuB,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,WAAW;QACX,MAAM;QACN,WAAW,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;QACjE,gBAAgB,EAAE,CAIhB,IAAkB,EAClB,KAAgB,EAChB,KAGC,EACD,OAAuF,EACvF,EAAE,CACF,gBAAgB,CACd,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,CACR;QACH,mBAAmB,EAAE,CAInB,IAAkB,EAClB,OAA0F,EAC1F,EAAE,CAAC,mBAAmB,CAAwD,IAAI,EAAE,OAAO,CAAC;KACtF,CAAC;AACb,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { ReactNode } from "react";
2
+ import type { WalletAccount, WalletConnector, WalletConnectorType, WalletConnectResult, WalletSignTransactionRequest, WalletSignTransactionResult, WalletStatus } from "../wallet/types.js";
3
+ export type WalletState = Readonly<{
4
+ status: WalletStatus;
5
+ connectorType?: WalletConnectorType;
6
+ accounts: readonly WalletAccount[];
7
+ pendingUri?: string;
8
+ error?: Error;
9
+ }>;
10
+ export type WalletProviderProps = Readonly<{
11
+ connectors: readonly WalletConnector[];
12
+ autoConnect?: boolean;
13
+ storageKey?: string;
14
+ children: ReactNode;
15
+ }>;
16
+ export type WalletContextValue = Readonly<{
17
+ state: WalletState;
18
+ connect(type: WalletConnectorType): Promise<WalletConnectResult | undefined>;
19
+ approveWalletConnect(): Promise<void>;
20
+ disconnect(): Promise<void>;
21
+ requestAccounts(): Promise<readonly WalletAccount[]>;
22
+ signTransaction(input: WalletSignTransactionRequest): Promise<WalletSignTransactionResult>;
23
+ }>;
24
+ export declare function WalletProvider({ connectors, autoConnect, storageKey, children, }: WalletProviderProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function useWallet(): Readonly<{
26
+ state: WalletState;
27
+ connect(type: WalletConnectorType): Promise<WalletConnectResult | undefined>;
28
+ approveWalletConnect(): Promise<void>;
29
+ disconnect(): Promise<void>;
30
+ requestAccounts(): Promise<readonly WalletAccount[]>;
31
+ signTransaction(input: WalletSignTransactionRequest): Promise<WalletSignTransactionResult>;
32
+ }>;
33
+ //# sourceMappingURL=wallet-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-provider.d.ts","sourceRoot":"","sources":["../../../src/providers/wallet-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EAEnB,4BAA4B,EAC5B,2BAA2B,EAC3B,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAC7E,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,eAAe,IAAI,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IACrD,eAAe,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;CAC5F,CAAC,CAAC;AAIH,wBAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,WAAkB,EAClB,UAAqC,EACrC,QAAQ,GACT,EAAE,mBAAmB,2CA+IrB;AAED,wBAAgB,SAAS;WAhKhB,WAAW;kBACJ,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;4BACpD,OAAO,CAAC,IAAI,CAAC;kBACvB,OAAO,CAAC,IAAI,CAAC;uBACR,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;2BAC7B,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC;GA+J3F"}
@@ -0,0 +1,176 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useEffect, useMemo, useRef, useState } from "react";
3
+ const WalletContext = createContext(null);
4
+ export function WalletProvider({ connectors, autoConnect = true, storageKey = "qubic.wallet.connector", children, }) {
5
+ const [state, setState] = useState({
6
+ status: "idle",
7
+ accounts: [],
8
+ });
9
+ const pendingApproval = useRef(null);
10
+ const connectorMap = useMemo(() => {
11
+ const map = new Map();
12
+ for (const connector of connectors)
13
+ map.set(connector.type, connector);
14
+ return map;
15
+ }, [connectors]);
16
+ useEffect(() => {
17
+ if (!autoConnect)
18
+ return;
19
+ const stored = getStorage()?.getItem(storageKey);
20
+ if (!stored)
21
+ return;
22
+ const connector = connectorMap.get(stored);
23
+ if (!connector || !connector.restore)
24
+ return;
25
+ connector
26
+ .restore()
27
+ .then((accounts) => {
28
+ if (!accounts)
29
+ return;
30
+ setState({
31
+ status: "connected",
32
+ connectorType: connector.type,
33
+ accounts,
34
+ });
35
+ })
36
+ .catch((error) => {
37
+ setState({
38
+ status: "error",
39
+ connectorType: connector.type,
40
+ accounts: [],
41
+ error: error instanceof Error ? error : new Error(String(error)),
42
+ });
43
+ });
44
+ }, [autoConnect, connectorMap, storageKey]);
45
+ const connect = async (type) => {
46
+ const connector = connectorMap.get(type);
47
+ if (!connector) {
48
+ throw new Error(`Unknown wallet connector: ${type}`);
49
+ }
50
+ const available = await connector.isAvailable();
51
+ if (!available)
52
+ throw new Error(`${type} connector is not available`);
53
+ setState((current) => ({
54
+ ...current,
55
+ status: "connecting",
56
+ connectorType: type,
57
+ pendingUri: undefined,
58
+ error: undefined,
59
+ }));
60
+ try {
61
+ const result = await connector.connect();
62
+ if (result.status === "pending") {
63
+ pendingApproval.current = result.approve;
64
+ setState((current) => ({
65
+ ...current,
66
+ status: "connecting",
67
+ pendingUri: result.uri,
68
+ }));
69
+ return result;
70
+ }
71
+ const session = { type, accounts: result.accounts };
72
+ persistConnector(session.type, storageKey);
73
+ setState({
74
+ status: "connected",
75
+ connectorType: session.type,
76
+ accounts: session.accounts,
77
+ });
78
+ return result;
79
+ }
80
+ catch (error) {
81
+ setState({
82
+ status: "error",
83
+ connectorType: type,
84
+ accounts: [],
85
+ error: error instanceof Error ? error : new Error(String(error)),
86
+ });
87
+ throw error;
88
+ }
89
+ };
90
+ const approveWalletConnect = async () => {
91
+ if (!pendingApproval.current)
92
+ return;
93
+ try {
94
+ const accounts = await pendingApproval.current();
95
+ const type = state.connectorType ?? "walletconnect";
96
+ persistConnector(type, storageKey);
97
+ setState({
98
+ status: "connected",
99
+ connectorType: type,
100
+ accounts,
101
+ });
102
+ }
103
+ catch (error) {
104
+ setState((current) => ({
105
+ ...current,
106
+ status: "error",
107
+ error: error instanceof Error ? error : new Error(String(error)),
108
+ }));
109
+ throw error;
110
+ }
111
+ finally {
112
+ pendingApproval.current = null;
113
+ }
114
+ };
115
+ const disconnect = async () => {
116
+ if (!state.connectorType)
117
+ return;
118
+ const connector = connectorMap.get(state.connectorType);
119
+ if (connector) {
120
+ await connector.disconnect();
121
+ }
122
+ pendingApproval.current = null;
123
+ setState({ status: "idle", accounts: [] });
124
+ clearConnector(storageKey);
125
+ };
126
+ const requestAccounts = async () => {
127
+ if (!state.connectorType)
128
+ throw new Error("No connector selected");
129
+ const connector = connectorMap.get(state.connectorType);
130
+ if (!connector)
131
+ throw new Error("Connector not available");
132
+ const accounts = await connector.requestAccounts();
133
+ setState((current) => ({ ...current, accounts }));
134
+ return accounts;
135
+ };
136
+ const signTransaction = async (input) => {
137
+ if (!state.connectorType)
138
+ throw new Error("No connector selected");
139
+ const connector = connectorMap.get(state.connectorType);
140
+ if (!connector)
141
+ throw new Error("Connector not available");
142
+ return connector.signTransaction(input);
143
+ };
144
+ const value = {
145
+ state,
146
+ connect,
147
+ approveWalletConnect,
148
+ disconnect,
149
+ requestAccounts,
150
+ signTransaction,
151
+ };
152
+ return _jsx(WalletContext.Provider, { value: value, children: children });
153
+ }
154
+ export function useWallet() {
155
+ const value = useContext(WalletContext);
156
+ if (!value)
157
+ throw new Error("useWallet must be used within WalletProvider");
158
+ return value;
159
+ }
160
+ function getStorage() {
161
+ const anyGlobal = globalThis;
162
+ return anyGlobal.localStorage;
163
+ }
164
+ function persistConnector(type, storageKey) {
165
+ const storage = getStorage();
166
+ if (!storage)
167
+ return;
168
+ storage.setItem(storageKey, type);
169
+ }
170
+ function clearConnector(storageKey) {
171
+ const storage = getStorage();
172
+ if (!storage)
173
+ return;
174
+ storage.removeItem(storageKey);
175
+ }
176
+ //# sourceMappingURL=wallet-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-provider.js","sourceRoot":"","sources":["../../../src/providers/wallet-provider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wallet-provider.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-provider.test.d.ts","sourceRoot":"","sources":["../../../src/providers/wallet-provider.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { describe, expect, it } from "bun:test";
3
+ import TestRenderer, { act } from "react-test-renderer";
4
+ import { useWallet, WalletProvider } from "./wallet-provider.js";
5
+ describe("WalletProvider", () => {
6
+ it("connects with a connector and updates state", async () => {
7
+ const connector = {
8
+ type: "walletconnect",
9
+ isAvailable: () => true,
10
+ connect: async () => ({
11
+ status: "connected",
12
+ accounts: [{ address: "QUBICADDRESS1" }],
13
+ }),
14
+ disconnect: async () => { },
15
+ requestAccounts: async () => [{ address: "QUBICADDRESS1" }],
16
+ signTransaction: async () => ({ signedTxBase64: "" }),
17
+ };
18
+ let api;
19
+ function Consumer() {
20
+ api = useWallet();
21
+ return null;
22
+ }
23
+ TestRenderer.create(_jsx(WalletProvider, { connectors: [connector], children: _jsx(Consumer, {}) }));
24
+ await act(async () => {
25
+ await api?.connect("walletconnect");
26
+ });
27
+ expect(api?.state.status).toBe("connected");
28
+ expect(api?.state.accounts[0]?.address).toBe("QUBICADDRESS1");
29
+ });
30
+ });
31
+ //# sourceMappingURL=wallet-provider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-provider.test.js","sourceRoot":"","sources":["../../../src/providers/wallet-provider.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,YAAY,EAAE,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEjE,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,SAAS,GAAoB;YACjC,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;YACvB,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACpB,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;aACzC,CAAC;YACF,UAAU,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;YAC1B,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YAC3D,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;SACtD,CAAC;QAEF,IAAI,GAA6C,CAAC;QAElD,SAAS,QAAQ;YACf,GAAG,GAAG,SAAS,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,YAAY,CAAC,MAAM,CACjB,KAAC,cAAc,IAAC,UAAU,EAAE,CAAC,SAAS,CAAC,YACrC,KAAC,QAAQ,KAAG,GACG,CAClB,CAAC;QAEF,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ import type { SendTransactionResult } from "@qubic-labs/sdk";
2
+ export type QbiCodec<Input = unknown, Output = unknown> = Readonly<{
3
+ encode(entry: unknown, value: Input): Uint8Array;
4
+ decode(entry: unknown, bytes: Uint8Array): Output;
5
+ }>;
6
+ export type QbiContractSchema = Readonly<{
7
+ functions?: Readonly<Record<string, Readonly<{
8
+ input: unknown;
9
+ output: unknown;
10
+ }>>>;
11
+ procedures?: Readonly<Record<string, Readonly<{
12
+ input: unknown;
13
+ }>>>;
14
+ }>;
15
+ export type QbiRegistrySchema = Readonly<Record<string, QbiContractSchema>>;
16
+ type SchemaFunctions<S extends QbiContractSchema> = NonNullable<S["functions"]>;
17
+ type SchemaProcedures<S extends QbiContractSchema> = NonNullable<S["procedures"]>;
18
+ export type QbiFunctionName<S extends QbiContractSchema> = keyof SchemaFunctions<S> & string;
19
+ export type QbiProcedureName<S extends QbiContractSchema> = keyof SchemaProcedures<S> & string;
20
+ export type QbiFunctionInput<S extends QbiContractSchema, Name extends string> = Name extends keyof SchemaFunctions<S> ? SchemaFunctions<S>[Name] extends {
21
+ input: infer Input;
22
+ } ? Input : unknown : unknown;
23
+ export type QbiFunctionOutput<S extends QbiContractSchema, Name extends string> = Name extends keyof SchemaFunctions<S> ? SchemaFunctions<S>[Name] extends {
24
+ output: infer Output;
25
+ } ? Output : unknown : unknown;
26
+ export type QbiProcedureInput<S extends QbiContractSchema, Name extends string> = Name extends keyof SchemaProcedures<S> ? SchemaProcedures<S>[Name] extends {
27
+ input: infer Input;
28
+ } ? Input : unknown : unknown;
29
+ export type QbiQueryInput<Input = unknown, Output = unknown> = Readonly<{
30
+ inputBytes?: Uint8Array;
31
+ inputValue?: Input;
32
+ codec?: QbiCodec<Input, Output>;
33
+ expectedOutputSize?: number;
34
+ retries?: number;
35
+ retryDelayMs?: number;
36
+ signal?: AbortSignal;
37
+ allowSizeMismatch?: boolean;
38
+ }>;
39
+ export type QbiQueryResult<Output = unknown> = Readonly<{
40
+ responseBytes: Uint8Array;
41
+ responseBase64: string;
42
+ decoded?: Output;
43
+ }>;
44
+ export type QbiProcedureTxInput<Input = unknown> = Readonly<{
45
+ name: string;
46
+ amount?: bigint;
47
+ targetTick?: bigint | number;
48
+ inputBytes?: Uint8Array;
49
+ inputValue?: Input;
50
+ codec?: QbiCodec<Input, unknown>;
51
+ fromSeed?: string;
52
+ fromVault?: string;
53
+ }>;
54
+ export type QbiContractHandleLike = Readonly<{
55
+ query<Input = unknown, Output = unknown>(name: string, input: QbiQueryInput<Input, Output>): Promise<QbiQueryResult<Output>>;
56
+ sendProcedure<Input = unknown>(input: QbiProcedureTxInput<Input>): Promise<SendTransactionResult>;
57
+ }>;
58
+ export type QbiHelpersLike = Readonly<{
59
+ contract(nameOrIndex: string | number): QbiContractHandleLike;
60
+ }>;
61
+ export {};
62
+ //# sourceMappingURL=qbi-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qbi-types.d.ts","sourceRoot":"","sources":["../../src/qbi-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=qbi-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qbi-types.js","sourceRoot":"","sources":["../../src/qbi-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export declare const queryKeys: {
2
+ tickInfo: () => readonly ["qubic", "tickInfo"];
3
+ lastProcessedTick: () => readonly ["qubic", "lastProcessedTick"];
4
+ balance: (identity: string) => readonly ["qubic", "balance", string];
5
+ transactions: (identity: string, paramsKey?: string) => readonly ["qubic", "transactions", string, string];
6
+ qbiQuery: (contract: string, entry: string, argsKey: string) => readonly ["qubic", "qbi", string, string, string];
7
+ };
8
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/query/keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;wBAGA,MAAM;6BACD,MAAM;yBAEV,MAAM,SAAS,MAAM,WAAW,MAAM;CAE5D,CAAC"}
@@ -0,0 +1,8 @@
1
+ export const queryKeys = {
2
+ tickInfo: () => ["qubic", "tickInfo"],
3
+ lastProcessedTick: () => ["qubic", "lastProcessedTick"],
4
+ balance: (identity) => ["qubic", "balance", identity],
5
+ transactions: (identity, paramsKey = "default") => ["qubic", "transactions", identity, paramsKey],
6
+ qbiQuery: (contract, entry, argsKey) => ["qubic", "qbi", contract, entry, argsKey],
7
+ };
8
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/query/keys.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAU;IAC9C,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAU;IAChE,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAU;IACtE,YAAY,EAAE,CAAC,QAAgB,EAAE,SAAS,GAAG,SAAS,EAAE,EAAE,CACxD,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAU;IACzD,QAAQ,EAAE,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE,CAC7D,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAU;CACtD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { OpenSeedVaultBrowserInput, SeedVault, VaultExport, VaultStore } from "@qubic-labs/sdk";
2
+ export type CreateBrowserVaultInput = Omit<OpenSeedVaultBrowserInput, "create">;
3
+ export declare function openBrowserVault(input: OpenSeedVaultBrowserInput): Promise<SeedVault>;
4
+ export declare function createBrowserVault(input: CreateBrowserVaultInput): Promise<SeedVault>;
5
+ export declare function importBrowserVault(input: Readonly<{
6
+ store: VaultStore;
7
+ passphrase: string;
8
+ exportData: VaultExport | string;
9
+ mode?: "merge" | "replace";
10
+ sourcePassphrase?: string;
11
+ }>): Promise<SeedVault>;
12
+ export declare function createLocalStorageVaultStore(key: string): Promise<VaultStore>;
13
+ export declare function createMemoryVaultStore(label?: string): Promise<VaultStore>;
14
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/vault/browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,SAAS,EACT,WAAW,EACX,UAAU,EACX,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;AAEhF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,SAAS,CAAC,CAmB3F;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAE3F;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,WAAW,GAAG,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC,GACD,OAAO,CAAC,SAAS,CAAC,CAWpB;AAED,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAWnF;AAED,wBAAsB,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAUhF"}
@@ -0,0 +1,46 @@
1
+ export async function openBrowserVault(input) {
2
+ const sdk = await import("@qubic-labs/sdk");
3
+ const openSeedVaultBrowser = sdk.openSeedVaultBrowser ??
4
+ sdk.default?.openSeedVaultBrowser;
5
+ if (!openSeedVaultBrowser) {
6
+ throw new Error("openSeedVaultBrowser is not available in @qubic-labs/sdk");
7
+ }
8
+ return openSeedVaultBrowser(input);
9
+ }
10
+ export async function createBrowserVault(input) {
11
+ return openBrowserVault({ ...input, create: true });
12
+ }
13
+ export async function importBrowserVault(input) {
14
+ const vault = await openBrowserVault({
15
+ store: input.store,
16
+ passphrase: input.passphrase,
17
+ create: true,
18
+ });
19
+ await vault.importEncrypted(input.exportData, {
20
+ mode: input.mode,
21
+ sourcePassphrase: input.sourcePassphrase,
22
+ });
23
+ return vault;
24
+ }
25
+ export async function createLocalStorageVaultStore(key) {
26
+ const sdk = await import("@qubic-labs/sdk");
27
+ const factory = sdk
28
+ .createLocalStorageVaultStore ??
29
+ sdk.default
30
+ ?.createLocalStorageVaultStore;
31
+ if (!factory) {
32
+ throw new Error("createLocalStorageVaultStore is not available in @qubic-labs/sdk");
33
+ }
34
+ return factory(key);
35
+ }
36
+ export async function createMemoryVaultStore(label) {
37
+ const sdk = await import("@qubic-labs/sdk");
38
+ const factory = sdk.createMemoryVaultStore ??
39
+ sdk.default
40
+ ?.createMemoryVaultStore;
41
+ if (!factory) {
42
+ throw new Error("createMemoryVaultStore is not available in @qubic-labs/sdk");
43
+ }
44
+ return factory(label);
45
+ }
46
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/vault/browser.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAgC;IACrE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,oBAAoB,GAEtB,GAGD,CAAC,oBAAoB;QAEpB,GAKD,CAAC,OAAO,EAAE,oBAAoB,CAAC;IAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA8B;IACrE,OAAO,gBAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAME;IAEF,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE;QAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;KACzC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,GAAW;IAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,OAAO,GACV,GAAsE;SACpE,4BAA4B;QAC9B,GAAoF,CAAC,OAAO;YAC3F,EAAE,4BAA4B,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAAc;IACzD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,OAAO,GACV,GAAmE,CAAC,sBAAsB;QAC1F,GAAiF,CAAC,OAAO;YACxF,EAAE,sBAAsB,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { OpenSeedVaultInput, SeedVault, VaultExport } from "@qubic-labs/sdk";
2
+ export type CreateVaultInput = Omit<OpenSeedVaultInput, "create">;
3
+ export declare function openNodeVault(input: OpenSeedVaultInput): Promise<SeedVault>;
4
+ export declare function createNodeVault(input: CreateVaultInput): Promise<SeedVault>;
5
+ export declare function importNodeVault(input: Readonly<{
6
+ path: string;
7
+ passphrase: string;
8
+ exportData: VaultExport | string;
9
+ mode?: "merge" | "replace";
10
+ sourcePassphrase?: string;
11
+ }>): Promise<SeedVault>;
12
+ export declare function vaultExists(path: string): Promise<boolean>;
13
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/vault/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;AAElE,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAQjF;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAQjF;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,WAAW,GAAG,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC,GACD,OAAO,CAAC,SAAS,CAAC,CAWpB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhE"}
@@ -0,0 +1,40 @@
1
+ export async function openNodeVault(input) {
2
+ const sdk = await import("@qubic-labs/sdk");
3
+ const openSeedVault = sdk.openSeedVault ??
4
+ sdk
5
+ .default?.openSeedVault;
6
+ if (!openSeedVault)
7
+ throw new Error("openSeedVault is not available in @qubic-labs/sdk");
8
+ return openSeedVault(input);
9
+ }
10
+ export async function createNodeVault(input) {
11
+ const sdk = await import("@qubic-labs/sdk");
12
+ const openSeedVault = sdk.openSeedVault ??
13
+ sdk
14
+ .default?.openSeedVault;
15
+ if (!openSeedVault)
16
+ throw new Error("openSeedVault is not available in @qubic-labs/sdk");
17
+ return openSeedVault({ ...input, create: true });
18
+ }
19
+ export async function importNodeVault(input) {
20
+ const vault = await openNodeVault({
21
+ path: input.path,
22
+ passphrase: input.passphrase,
23
+ create: true,
24
+ });
25
+ await vault.importEncrypted(input.exportData, {
26
+ mode: input.mode,
27
+ sourcePassphrase: input.sourcePassphrase,
28
+ });
29
+ return vault;
30
+ }
31
+ export async function vaultExists(path) {
32
+ const sdk = await import("@qubic-labs/sdk");
33
+ const exists = sdk.vaultExists ??
34
+ sdk.default
35
+ ?.vaultExists;
36
+ if (!exists)
37
+ throw new Error("vaultExists is not available in @qubic-labs/sdk");
38
+ return exists(path);
39
+ }
40
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/vault/node.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,aAAa,GAChB,GAA6E,CAAC,aAAa;QAC3F,GAA2F;aACzF,OAAO,EAAE,aAAa,CAAC;IAC5B,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACzF,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAuB;IAC3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,aAAa,GAChB,GAA6E,CAAC,aAAa;QAC3F,GAA2F;aACzF,OAAO,EAAE,aAAa,CAAC;IAC5B,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACzF,OAAO,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAME;IAEF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE;QAC5C,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;KACzC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,MAAM,GACT,GAA6D,CAAC,WAAW;QACzE,GAA2E,CAAC,OAAO;YAClF,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { WalletAccount, WalletConnector, WalletConnectResult, WalletSignTransactionRequest, WalletSignTransactionResult } from "./types.js";
2
+ export type MetaMaskSnapConfig = Readonly<{
3
+ snapId?: string;
4
+ requestAccountsMethod?: string;
5
+ signTransactionMethod?: string;
6
+ accountIndex?: number;
7
+ }>;
8
+ export declare class MetaMaskSnapConnector implements WalletConnector {
9
+ readonly type: "metamask-snap";
10
+ private readonly snapId;
11
+ private readonly requestAccountsMethod;
12
+ private readonly signTransactionMethod;
13
+ private readonly accountIndex?;
14
+ constructor(config?: MetaMaskSnapConfig);
15
+ isAvailable(): boolean;
16
+ connect(): Promise<WalletConnectResult>;
17
+ disconnect(): Promise<void>;
18
+ requestAccounts(): Promise<readonly WalletAccount[]>;
19
+ signTransaction(input: WalletSignTransactionRequest): Promise<WalletSignTransactionResult>;
20
+ private getProvider;
21
+ private requireProvider;
22
+ }
23
+ //# sourceMappingURL=metamask-snap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metamask-snap.d.ts","sourceRoot":"","sources":["../../../src/wallet/metamask-snap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AAEH,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,IAAI,EAAG,eAAe,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,MAAM,GAAE,kBAAuB;IAO3C,WAAW,IAAI,OAAO;IAIhB,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAYvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,eAAe,IAAI,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC;IA0BpD,eAAe,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IA2BhG,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,eAAe;CAOxB"}