@txnlab/use-wallet-vue 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # @txnlab/use-wallet-vue
2
+
3
+ Vue wrapper for [@txnlab/use-wallet-js](https://github.com/TxnLab/use-wallet-js/tree/main/packages/use-wallet-js)
4
+
5
+ ## License
6
+
7
+ MIT ©2023 [TxnLab, Inc.](https://txnlab.dev)
package/dist/index.cjs ADDED
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ WalletManagerPlugin: () => WalletManagerPlugin,
24
+ useWallet: () => useWallet
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/walletManagerPlugin.ts
29
+ var import_use_wallet_js = require("@txnlab/use-wallet-js");
30
+ var import_vue = require("vue");
31
+ var WalletManagerPlugin = {
32
+ install(app, options) {
33
+ const manager = new import_use_wallet_js.WalletManager(options);
34
+ let state = (0, import_vue.reactive)({ ...import_use_wallet_js.defaultState });
35
+ manager.subscribe((newState) => {
36
+ state = { ...newState };
37
+ });
38
+ app.provide("walletManager", manager);
39
+ app.provide("walletState", (0, import_vue.readonly)(state));
40
+ }
41
+ };
42
+
43
+ // src/useWallet.ts
44
+ var import_use_wallet_js2 = require("@txnlab/use-wallet-js");
45
+ var import_vue2 = require("vue");
46
+ function useWallet() {
47
+ const manager = (0, import_vue2.inject)("walletManager");
48
+ const state = (0, import_vue2.inject)("walletState");
49
+ if (!manager || !state) {
50
+ throw new Error("WalletManager plugin is not properly installed");
51
+ }
52
+ const activeNetwork = (0, import_vue2.computed)(() => state.activeNetwork);
53
+ const activeWallet = (0, import_vue2.computed)(() => state.activeWallet);
54
+ const wallets = manager.wallets;
55
+ const algodClient = manager.algodClient;
56
+ const activeWalletAccounts = manager.activeWalletAccounts;
57
+ const activeWalletAddresses = manager.activeWalletAddresses;
58
+ const activeAccount = manager.activeAccount;
59
+ const activeAddress = manager.activeAddress;
60
+ const setActiveNetwork = manager.setActiveNetwork;
61
+ const signTransactions = (txnGroup, indexesToSign, returnGroup) => {
62
+ if (!activeWallet.value) {
63
+ throw new Error("No active wallet");
64
+ }
65
+ return manager.signTransactions(txnGroup, indexesToSign, returnGroup);
66
+ };
67
+ const transactionSigner = (txnGroup, indexesToSign) => {
68
+ if (!activeWallet.value) {
69
+ throw new Error("No active wallet");
70
+ }
71
+ return manager.transactionSigner(txnGroup, indexesToSign);
72
+ };
73
+ return {
74
+ wallets,
75
+ algodClient,
76
+ activeNetwork: activeNetwork.value,
77
+ activeWallet: activeWallet.value,
78
+ activeWalletAccounts,
79
+ activeWalletAddresses,
80
+ activeAccount,
81
+ activeAddress,
82
+ setActiveNetwork,
83
+ signTransactions,
84
+ transactionSigner
85
+ };
86
+ }
87
+ // Annotate the CommonJS export names for ESM import in node:
88
+ 0 && (module.exports = {
89
+ WalletManagerPlugin,
90
+ useWallet
91
+ });
92
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/walletManagerPlugin.ts","../src/useWallet.ts"],"sourcesContent":["export { WalletManagerPlugin } from './walletManagerPlugin'\nexport { useWallet } from './useWallet'\n","import { WalletManager, type WalletManagerConfig, defaultState } from '@txnlab/use-wallet-js'\nimport { reactive, readonly } from 'vue'\n\nexport const WalletManagerPlugin = {\n install(app: any, options: WalletManagerConfig) {\n const manager = new WalletManager(options)\n let state = reactive({ ...defaultState })\n\n manager.subscribe((newState) => {\n state = { ...newState }\n })\n\n app.provide('walletManager', manager)\n app.provide('walletState', readonly(state))\n }\n}\n","import { type State, WalletManager } from '@txnlab/use-wallet-js'\nimport type algosdk from 'algosdk'\nimport { inject, computed } from 'vue'\n\nexport function useWallet() {\n const manager = inject<WalletManager>('walletManager')\n const state = inject<State>('walletState')\n\n if (!manager || !state) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n\n const activeNetwork = computed(() => state.activeNetwork)\n const activeWallet = computed(() => state.activeWallet)\n\n const wallets = manager.wallets\n const algodClient: algosdk.Algodv2 = manager.algodClient\n const activeWalletAccounts = manager.activeWalletAccounts\n const activeWalletAddresses = manager.activeWalletAddresses\n const activeAccount = manager.activeAccount\n const activeAddress = manager.activeAddress\n const setActiveNetwork = manager.setActiveNetwork\n\n const signTransactions = (\n txnGroup: algosdk.Transaction[] | algosdk.Transaction[][] | Uint8Array[] | Uint8Array[][],\n indexesToSign?: number[],\n returnGroup?: boolean\n ) => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return manager.signTransactions(txnGroup, indexesToSign, returnGroup)\n }\n\n const transactionSigner = (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return manager.transactionSigner(txnGroup, indexesToSign)\n }\n\n return {\n wallets,\n algodClient,\n activeNetwork: activeNetwork.value,\n activeWallet: activeWallet.value,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n setActiveNetwork,\n signTransactions,\n transactionSigner\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,2BAAsE;AACtE,iBAAmC;AAE5B,IAAM,sBAAsB;AAAA,EACjC,QAAQ,KAAU,SAA8B;AAC9C,UAAM,UAAU,IAAI,mCAAc,OAAO;AACzC,QAAI,YAAQ,qBAAS,EAAE,GAAG,kCAAa,CAAC;AAExC,YAAQ,UAAU,CAAC,aAAa;AAC9B,cAAQ,EAAE,GAAG,SAAS;AAAA,IACxB,CAAC;AAED,QAAI,QAAQ,iBAAiB,OAAO;AACpC,QAAI,QAAQ,mBAAe,qBAAS,KAAK,CAAC;AAAA,EAC5C;AACF;;;ACfA,IAAAA,wBAA0C;AAE1C,IAAAC,cAAiC;AAE1B,SAAS,YAAY;AAC1B,QAAM,cAAU,oBAAsB,eAAe;AACrD,QAAM,YAAQ,oBAAc,aAAa;AAEzC,MAAI,CAAC,WAAW,CAAC,OAAO;AACtB,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,QAAM,oBAAgB,sBAAS,MAAM,MAAM,aAAa;AACxD,QAAM,mBAAe,sBAAS,MAAM,MAAM,YAAY;AAEtD,QAAM,UAAU,QAAQ;AACxB,QAAM,cAA+B,QAAQ;AAC7C,QAAM,uBAAuB,QAAQ;AACrC,QAAM,wBAAwB,QAAQ;AACtC,QAAM,gBAAgB,QAAQ;AAC9B,QAAM,gBAAgB,QAAQ;AAC9B,QAAM,mBAAmB,QAAQ;AAEjC,QAAM,mBAAmB,CACvB,UACA,eACA,gBACG;AACH,QAAI,CAAC,aAAa,OAAO;AACvB,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,QAAQ,iBAAiB,UAAU,eAAe,WAAW;AAAA,EACtE;AAEA,QAAM,oBAAoB,CAAC,UAAiC,kBAA4B;AACtF,QAAI,CAAC,aAAa,OAAO;AACvB,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,QAAQ,kBAAkB,UAAU,aAAa;AAAA,EAC1D;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,eAAe,cAAc;AAAA,IAC7B,cAAc,aAAa;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":["import_use_wallet_js","import_vue"]}
@@ -0,0 +1,29 @@
1
+ import * as _txnlab_use_wallet_js from '@txnlab/use-wallet-js';
2
+ import { WalletManagerConfig } from '@txnlab/use-wallet-js';
3
+ import algosdk from 'algosdk';
4
+
5
+ declare const WalletManagerPlugin: {
6
+ install(app: any, options: WalletManagerConfig): void;
7
+ };
8
+
9
+ declare function useWallet(): {
10
+ wallets: _txnlab_use_wallet_js.BaseWallet[];
11
+ algodClient: algosdk.Algodv2;
12
+ activeNetwork: _txnlab_use_wallet_js.NetworkId;
13
+ activeWallet: _txnlab_use_wallet_js.WalletId | null;
14
+ activeWalletAccounts: {
15
+ name: string;
16
+ address: string;
17
+ }[] | null;
18
+ activeWalletAddresses: string[] | null;
19
+ activeAccount: {
20
+ name: string;
21
+ address: string;
22
+ } | null;
23
+ activeAddress: string | null;
24
+ setActiveNetwork: (networkId: _txnlab_use_wallet_js.NetworkId) => void;
25
+ signTransactions: (txnGroup: algosdk.Transaction[] | algosdk.Transaction[][] | Uint8Array[] | Uint8Array[][], indexesToSign?: number[], returnGroup?: boolean) => Promise<Uint8Array[]>;
26
+ transactionSigner: (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => Promise<Uint8Array[]>;
27
+ };
28
+
29
+ export { WalletManagerPlugin, useWallet };
@@ -0,0 +1,29 @@
1
+ import * as _txnlab_use_wallet_js from '@txnlab/use-wallet-js';
2
+ import { WalletManagerConfig } from '@txnlab/use-wallet-js';
3
+ import algosdk from 'algosdk';
4
+
5
+ declare const WalletManagerPlugin: {
6
+ install(app: any, options: WalletManagerConfig): void;
7
+ };
8
+
9
+ declare function useWallet(): {
10
+ wallets: _txnlab_use_wallet_js.BaseWallet[];
11
+ algodClient: algosdk.Algodv2;
12
+ activeNetwork: _txnlab_use_wallet_js.NetworkId;
13
+ activeWallet: _txnlab_use_wallet_js.WalletId | null;
14
+ activeWalletAccounts: {
15
+ name: string;
16
+ address: string;
17
+ }[] | null;
18
+ activeWalletAddresses: string[] | null;
19
+ activeAccount: {
20
+ name: string;
21
+ address: string;
22
+ } | null;
23
+ activeAddress: string | null;
24
+ setActiveNetwork: (networkId: _txnlab_use_wallet_js.NetworkId) => void;
25
+ signTransactions: (txnGroup: algosdk.Transaction[] | algosdk.Transaction[][] | Uint8Array[] | Uint8Array[][], indexesToSign?: number[], returnGroup?: boolean) => Promise<Uint8Array[]>;
26
+ transactionSigner: (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => Promise<Uint8Array[]>;
27
+ };
28
+
29
+ export { WalletManagerPlugin, useWallet };
package/dist/index.js ADDED
@@ -0,0 +1,64 @@
1
+ // src/walletManagerPlugin.ts
2
+ import { WalletManager, defaultState } from "@txnlab/use-wallet-js";
3
+ import { reactive, readonly } from "vue";
4
+ var WalletManagerPlugin = {
5
+ install(app, options) {
6
+ const manager = new WalletManager(options);
7
+ let state = reactive({ ...defaultState });
8
+ manager.subscribe((newState) => {
9
+ state = { ...newState };
10
+ });
11
+ app.provide("walletManager", manager);
12
+ app.provide("walletState", readonly(state));
13
+ }
14
+ };
15
+
16
+ // src/useWallet.ts
17
+ import "@txnlab/use-wallet-js";
18
+ import { inject, computed } from "vue";
19
+ function useWallet() {
20
+ const manager = inject("walletManager");
21
+ const state = inject("walletState");
22
+ if (!manager || !state) {
23
+ throw new Error("WalletManager plugin is not properly installed");
24
+ }
25
+ const activeNetwork = computed(() => state.activeNetwork);
26
+ const activeWallet = computed(() => state.activeWallet);
27
+ const wallets = manager.wallets;
28
+ const algodClient = manager.algodClient;
29
+ const activeWalletAccounts = manager.activeWalletAccounts;
30
+ const activeWalletAddresses = manager.activeWalletAddresses;
31
+ const activeAccount = manager.activeAccount;
32
+ const activeAddress = manager.activeAddress;
33
+ const setActiveNetwork = manager.setActiveNetwork;
34
+ const signTransactions = (txnGroup, indexesToSign, returnGroup) => {
35
+ if (!activeWallet.value) {
36
+ throw new Error("No active wallet");
37
+ }
38
+ return manager.signTransactions(txnGroup, indexesToSign, returnGroup);
39
+ };
40
+ const transactionSigner = (txnGroup, indexesToSign) => {
41
+ if (!activeWallet.value) {
42
+ throw new Error("No active wallet");
43
+ }
44
+ return manager.transactionSigner(txnGroup, indexesToSign);
45
+ };
46
+ return {
47
+ wallets,
48
+ algodClient,
49
+ activeNetwork: activeNetwork.value,
50
+ activeWallet: activeWallet.value,
51
+ activeWalletAccounts,
52
+ activeWalletAddresses,
53
+ activeAccount,
54
+ activeAddress,
55
+ setActiveNetwork,
56
+ signTransactions,
57
+ transactionSigner
58
+ };
59
+ }
60
+ export {
61
+ WalletManagerPlugin,
62
+ useWallet
63
+ };
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/walletManagerPlugin.ts","../src/useWallet.ts"],"sourcesContent":["import { WalletManager, type WalletManagerConfig, defaultState } from '@txnlab/use-wallet-js'\nimport { reactive, readonly } from 'vue'\n\nexport const WalletManagerPlugin = {\n install(app: any, options: WalletManagerConfig) {\n const manager = new WalletManager(options)\n let state = reactive({ ...defaultState })\n\n manager.subscribe((newState) => {\n state = { ...newState }\n })\n\n app.provide('walletManager', manager)\n app.provide('walletState', readonly(state))\n }\n}\n","import { type State, WalletManager } from '@txnlab/use-wallet-js'\nimport type algosdk from 'algosdk'\nimport { inject, computed } from 'vue'\n\nexport function useWallet() {\n const manager = inject<WalletManager>('walletManager')\n const state = inject<State>('walletState')\n\n if (!manager || !state) {\n throw new Error('WalletManager plugin is not properly installed')\n }\n\n const activeNetwork = computed(() => state.activeNetwork)\n const activeWallet = computed(() => state.activeWallet)\n\n const wallets = manager.wallets\n const algodClient: algosdk.Algodv2 = manager.algodClient\n const activeWalletAccounts = manager.activeWalletAccounts\n const activeWalletAddresses = manager.activeWalletAddresses\n const activeAccount = manager.activeAccount\n const activeAddress = manager.activeAddress\n const setActiveNetwork = manager.setActiveNetwork\n\n const signTransactions = (\n txnGroup: algosdk.Transaction[] | algosdk.Transaction[][] | Uint8Array[] | Uint8Array[][],\n indexesToSign?: number[],\n returnGroup?: boolean\n ) => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return manager.signTransactions(txnGroup, indexesToSign, returnGroup)\n }\n\n const transactionSigner = (txnGroup: algosdk.Transaction[], indexesToSign: number[]) => {\n if (!activeWallet.value) {\n throw new Error('No active wallet')\n }\n return manager.transactionSigner(txnGroup, indexesToSign)\n }\n\n return {\n wallets,\n algodClient,\n activeNetwork: activeNetwork.value,\n activeWallet: activeWallet.value,\n activeWalletAccounts,\n activeWalletAddresses,\n activeAccount,\n activeAddress,\n setActiveNetwork,\n signTransactions,\n transactionSigner\n }\n}\n"],"mappings":";AAAA,SAAS,eAAyC,oBAAoB;AACtE,SAAS,UAAU,gBAAgB;AAE5B,IAAM,sBAAsB;AAAA,EACjC,QAAQ,KAAU,SAA8B;AAC9C,UAAM,UAAU,IAAI,cAAc,OAAO;AACzC,QAAI,QAAQ,SAAS,EAAE,GAAG,aAAa,CAAC;AAExC,YAAQ,UAAU,CAAC,aAAa;AAC9B,cAAQ,EAAE,GAAG,SAAS;AAAA,IACxB,CAAC;AAED,QAAI,QAAQ,iBAAiB,OAAO;AACpC,QAAI,QAAQ,eAAe,SAAS,KAAK,CAAC;AAAA,EAC5C;AACF;;;ACfA,OAA0C;AAE1C,SAAS,QAAQ,gBAAgB;AAE1B,SAAS,YAAY;AAC1B,QAAM,UAAU,OAAsB,eAAe;AACrD,QAAM,QAAQ,OAAc,aAAa;AAEzC,MAAI,CAAC,WAAW,CAAC,OAAO;AACtB,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,QAAM,gBAAgB,SAAS,MAAM,MAAM,aAAa;AACxD,QAAM,eAAe,SAAS,MAAM,MAAM,YAAY;AAEtD,QAAM,UAAU,QAAQ;AACxB,QAAM,cAA+B,QAAQ;AAC7C,QAAM,uBAAuB,QAAQ;AACrC,QAAM,wBAAwB,QAAQ;AACtC,QAAM,gBAAgB,QAAQ;AAC9B,QAAM,gBAAgB,QAAQ;AAC9B,QAAM,mBAAmB,QAAQ;AAEjC,QAAM,mBAAmB,CACvB,UACA,eACA,gBACG;AACH,QAAI,CAAC,aAAa,OAAO;AACvB,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,QAAQ,iBAAiB,UAAU,eAAe,WAAW;AAAA,EACtE;AAEA,QAAM,oBAAoB,CAAC,UAAiC,kBAA4B;AACtF,QAAI,CAAC,aAAa,OAAO;AACvB,YAAM,IAAI,MAAM,kBAAkB;AAAA,IACpC;AACA,WAAO,QAAQ,kBAAkB,UAAU,aAAa;AAAA,EAC1D;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,eAAe,cAAc;AAAA,IAC7B,cAAc,aAAa;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@txnlab/use-wallet-vue",
3
+ "version": "3.0.0-alpha.1",
4
+ "description": "Vue library for integrating Algorand wallets into decentralized applications",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.js",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/txnlab/use-wallet-js.git",
10
+ "directory": "packages/use-wallet-vue"
11
+ },
12
+ "keywords": [
13
+ "algorand",
14
+ "wallet",
15
+ "walletconnect",
16
+ "pera",
17
+ "defly",
18
+ "exodus",
19
+ "algosdk",
20
+ "algokit",
21
+ "kmd",
22
+ "vue"
23
+ ],
24
+ "author": "Doug Richar <drichar@gmail.com>",
25
+ "license": "MIT",
26
+ "files": [
27
+ "dist"
28
+ ],
29
+ "type": "module",
30
+ "exports": "./dist/index.js",
31
+ "types": "./dist/index.d.ts",
32
+ "peerDependencies": {
33
+ "@blockshake/defly-connect": "^1.1.6",
34
+ "@perawallet/connect": "^1.3.3",
35
+ "@walletconnect/modal": "^2.6.2",
36
+ "@walletconnect/sign-client": "^2.10.2",
37
+ "algosdk": "^2.6.0",
38
+ "vue": "^3.3.13"
39
+ },
40
+ "peerDependenciesMeta": {
41
+ "@blockshake/defly-connect": {
42
+ "optional": true
43
+ },
44
+ "@perawallet/connect": {
45
+ "optional": true
46
+ },
47
+ "@walletconnect/modal": {
48
+ "optional": true
49
+ },
50
+ "@walletconnect/sign-client": {
51
+ "optional": true
52
+ }
53
+ },
54
+ "dependencies": {
55
+ "@txnlab/use-wallet-js": "3.0.0-alpha.10"
56
+ },
57
+ "devDependencies": {
58
+ "algosdk": "^2.6.0",
59
+ "tsup": "^8.0.0",
60
+ "typescript": "^5.2.2",
61
+ "vue": "^3.3.13"
62
+ },
63
+ "scripts": {
64
+ "build": "tsup",
65
+ "start": "tsup src/index.ts --watch",
66
+ "lint": "eslint -c '../../.eslintrc.json' '**/*.{js,ts}'",
67
+ "prettier": "prettier --check '**/*.{js,ts}'",
68
+ "typecheck": "tsc --noEmit"
69
+ }
70
+ }