@dynamic-labs/multi-wallet 0.11.0 → 0.11.3

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/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.11.0",
3
+ "version": "0.11.3",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
7
7
  "repository": "git://github.com/dynamic-labs/WalletKit.git",
8
8
  "dependencies": {
9
9
  "buffer": "^6.0.3",
10
- "@coinbase/wallet-sdk": "^3.4.0",
10
+ "@randlabs/myalgo-connect": "^1.3.0",
11
+ "@solana/web3.js": "^1.50.1",
11
12
  "ethers": "^5.6.9",
13
+ "@coinbase/wallet-sdk": "^3.4.0",
12
14
  "@walletconnect/client": "^1.8.0",
13
15
  "@walletconnect/ethereum-provider": "^1.7.8",
14
- "@onflow/fcl": "1.0.3-alpha.1",
15
- "@solana/web3.js": "^1.50.1"
16
+ "@onflow/fcl": "1.0.3-alpha.1"
16
17
  },
17
18
  "description": "Multi-wallet is a toolkit for working with many different wallets to create and verify signatures",
18
19
  "bugs": {
@@ -2854,5 +2854,19 @@
2854
2854
  "ios": "https://apps.apple.com/sg/app/safematrix/id1613333481",
2855
2855
  "disabled": false
2856
2856
  }
2857
+ },
2858
+ "myalgo": {
2859
+ "desktop": {
2860
+ "chrome": "",
2861
+ "firefox": "",
2862
+ "brave": "",
2863
+ "edge": "",
2864
+ "safari": ""
2865
+ },
2866
+ "mobile": {
2867
+ "android": "",
2868
+ "disabled": false,
2869
+ "ios": ""
2870
+ }
2857
2871
  }
2858
2872
  }
@@ -18,7 +18,7 @@ const isMobile_1 = require("./utils/isMobile");
18
18
  const walletLinks_1 = require("./utils/walletLinks");
19
19
  const normalizeWalletName_1 = require("./utils/normalizeWalletName");
20
20
  const walletConnect_2 = require("./utils/walletConnect");
21
- // TODO : Add constructor that defines which wallets need to be loaded
21
+ const myalgo_1 = __importDefault(require("./wallets/algorand/myalgo"));
22
22
  let wallets = [];
23
23
  const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
24
24
  appLogoUrl: '',
@@ -45,6 +45,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
45
45
  new dapper_1.default({ appLogoUrl, appName }),
46
46
  new blocto_1.default({ appLogoUrl, appName }),
47
47
  new walletConnect_1.default({ evmNetworks, walletName: 'WalletConnect' }),
48
+ new myalgo_1.default(),
48
49
  ...filtered,
49
50
  ];
50
51
  /**
@@ -124,7 +125,8 @@ const getSupportedChainsForWalletConnector = (walletConnector) => {
124
125
  };
125
126
  exports.getSupportedChainsForWalletConnector = getSupportedChainsForWalletConnector;
126
127
  const getEnabledWallets = (props) => {
127
- const allEnabledWallets = (0, exports.getSupportedWallets)(props.getSupportedWalletOpts).filter((wallet) => props.enabledChains.some((c) => (0, exports.getSupportedChainsForWalletConnector)(wallet).includes(c)) && wallet.isInstalledOnBrowser() === props.installed);
128
+ const supportedWallets = (0, exports.getSupportedWallets)(props.getSupportedWalletOpts);
129
+ const allEnabledWallets = supportedWallets.filter((wallet) => props.enabledChains.some((chain) => (0, exports.getSupportedChainsForWalletConnector)(wallet).includes(chain)) && wallet.isInstalledOnBrowser() === props.installed);
128
130
  return (0, exports.orderWallets)(allEnabledWallets);
129
131
  };
130
132
  exports.getEnabledWallets = getEnabledWallets;
@@ -135,9 +137,10 @@ const orderWallets = (wallets) => {
135
137
  'metamask',
136
138
  'phantom',
137
139
  'coinbase',
140
+ 'myalgo',
141
+ 'dapper',
138
142
  'rainbow',
139
143
  'walletconnect',
140
- 'dapper',
141
144
  'blocto',
142
145
  //'trust', // TODO: follow-up on https://github.com/trustwallet/wallet-core/issues/2197
143
146
  'glow',
@@ -1 +1 @@
1
- {"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-wallet.js","sourceRoot":"","sources":["../../../../packages/multi-wallet/src/multi-wallet.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,6EAAoD;AAEpD,2EAAmD;AACnD,mEAA2C;AAC3C,yEAAiD;AACjD,iEAAyC;AACzC,4EAAoD;AACpD,mEAA2C;AAC3C,mEAA2C;AAE3C,+CAAmD;AACnD,+CAA4C;AAC5C,qDAAqD;AACrD,qEAAkE;AAClE,yDAG+B;AAC/B,uEAA+C;AAE/C,IAAI,OAAO,GAAsB,EAAE,CAAC;AAC7B,MAAM,mBAAmB,GAAwB,CACtD,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG;IAC/C,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,KAAK;CAChB,EACD,EAAE;IACF,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACnC,OAAO,OAAO,CAAC;KAChB;IAED,MAAM,oBAAoB,GAAG,IAAA,yCAAyB,EAAC,WAAW,CAAC,CAAC;IAEpE,2EAA2E;IAC3E,yBAAyB;IACzB,uDAAuD;IACvD,uEAAuE;IACvE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAC1C,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,OAAO,CAC1E,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,IAAI,iBAAO,EAAE;QACb,IAAI,mBAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;QAC7B,IAAI,kBAAQ,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAClD,IAAI,kBAAQ,EAAE;QACd,IAAI,cAAI,EAAE;QACV,IAAI,eAAK,EAAE;QACX,IAAI,gBAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACnC,IAAI,gBAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACnC,IAAI,uBAAa,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QAC/D,IAAI,gBAAM,EAAE;QACZ,GAAG,QAAQ;KACZ,CAAC;IAEF;;;OAGG;IACH,MAAM,0BAA0B,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9D,MAAM,KAAK,GAAG,IAAA,4BAAc,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,qBAAqB,GAAG,IAAA,wCAAwB,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpE;;;;WAIG;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC;QAEnD;;;;;WAKG;QACH,MAAM,gBAAgB,GACpB,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3E,MAAM,aAAa,GACjB,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxE,yFAAyF;QACzF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEzC,yCAAyC;QACzC,+EAA+E;QAC/E,kCAAkC;QAClC,IAAI,IAAA,kBAAO,GAAE,IAAI,IAAA,iBAAM,GAAE,EAAE;YACzB,IAAI,UAAU;gBAAE,OAAO,KAAK,CAAC;YAE7B,OAAO,qBAAqB;gBAC1B,CAAC,CAAC,UAAU,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC;gBACnD,CAAC,CAAC,UAAU,CAAC;SAChB;QACD,IAAI,IAAA,mBAAQ,GAAE,EAAE;YACd,IAAI,UAAU;gBAAE,OAAO,KAAK,CAAC;YAE7B,OAAO,qBAAqB;gBAC1B,CAAC,CAAC,cAAc,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC;gBACvD,CAAC,CAAC,cAAc,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,0BAA0B,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAzFW,QAAA,mBAAmB,uBAyF9B;AAEF,MAAM,mBAAmB,GAA4B;IACnD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEK,MAAM,oCAAoC,GAAG,CAClD,eAAgC,EACvB,EAAE;IACX,MAAM,QAAQ,GAAG,IAAA,wCAAwB,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChE,gFAAgF;IAChF,IAAI,QAAQ,EAAE;QACZ;;;;;;;;WAQG;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAS,CAAC;QAClC,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;QACxC,eAAe,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;KACtB;IAED,OAAO,eAAe,CAAC,eAAe,CAAC;AACzC,CAAC,CAAC;AA5BW,QAAA,oCAAoC,wCA4B/C;AAEK,MAAM,iBAAiB,GAAG,CAAC,KAIjC,EAAqB,EAAE;IACtB,MAAM,gBAAgB,GAAG,IAAA,2BAAmB,EAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC3E,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAC/C,CAAC,MAAM,EAAE,EAAE,CACT,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,IAAA,4CAAoC,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC7D,IAAI,MAAM,CAAC,oBAAoB,EAAE,KAAK,KAAK,CAAC,SAAS,CACzD,CAAC;IAEF,OAAO,IAAA,oBAAY,EAAC,iBAAiB,CAAC,CAAC;AACzC,CAAC,CAAC;AAdW,QAAA,iBAAiB,qBAc5B;AAEF,kBAAkB;AAClB,gGAAgG;AACzF,MAAM,YAAY,GAAG,CAAC,OAA0B,EAAqB,EAAE;IAC5E,MAAM,QAAQ,GAAG;QACf,UAAU;QACV,SAAS;QACT,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,eAAe;QACf,QAAQ;QACR,uFAAuF;QACvF,MAAM;QACN,OAAO;KACR,CAAC;IACF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEjE,kEAAkE;IAClE,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtC,CAAC;IAEF,OAAO,iBAAiB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACxD,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB;AAEF,MAAM,mBAAmB,GAAG,CAC1B,OAA0B,EAC1B,KAAe,EACI,EAAE,CACrB,KAAK;KACF,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9D,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC/B,MAAM,aAAa,GAAG,CAAC,MAAuB,EAAE,IAAY,EAAW,EAAE,CACvE,IAAA,yCAAmB,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAE5C,MAAM,iBAAiB,GAAG,CACxB,IAAiC,EACR,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const getItemAsync: (key: string) => Promise<string | undefined>;
2
+ export declare const setItemAsync: (key: string, value: string) => Promise<void>;
3
+ export declare const removeItemAsync: (key: string) => Promise<void>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.removeItemAsync = exports.setItemAsync = exports.getItemAsync = void 0;
13
+ const getItemAsync = (key) => __awaiter(void 0, void 0, void 0, function* () {
14
+ if (typeof window === 'undefined') {
15
+ return undefined;
16
+ }
17
+ return window.localStorage.getItem(key) || undefined;
18
+ });
19
+ exports.getItemAsync = getItemAsync;
20
+ const setItemAsync = (key, value) => __awaiter(void 0, void 0, void 0, function* () {
21
+ if (typeof window === 'undefined') {
22
+ return undefined;
23
+ }
24
+ return window.localStorage.setItem(key, value);
25
+ });
26
+ exports.setItemAsync = setItemAsync;
27
+ const removeItemAsync = (key) => __awaiter(void 0, void 0, void 0, function* () {
28
+ if (typeof window === 'undefined') {
29
+ return undefined;
30
+ }
31
+ return localStorage.removeItem(key);
32
+ });
33
+ exports.removeItemAsync = removeItemAsync;
34
+ //# sourceMappingURL=localStorageAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localStorageAsync.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/localStorageAsync.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAO,MAAM,YAAY,GAAG,CAC1B,GAAW,EACkB,EAAE;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;AACvD,CAAC,CAAA,CAAC;AAPW,QAAA,YAAY,gBAOvB;AAEK,MAAM,YAAY,GAAG,CAC1B,GAAW,EACX,KAAa,EACE,EAAE;IACjB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC,CAAA,CAAC;AARW,QAAA,YAAY,gBAQvB;AAEK,MAAM,eAAe,GAAG,CAAO,GAAW,EAAiB,EAAE;IAClE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC,CAAA,CAAC;AALW,QAAA,eAAe,mBAK1B"}
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.generateMessageToSign = void 0;
10
10
  // internal mapping of blockchain abbrev to full network name
11
11
  const networkNames = {
12
+ ALGO: 'Algorand',
12
13
  ETH: 'Ethereum',
13
14
  EVM: 'Ethereum',
14
15
  SOL: 'Solana',
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";AAAA,iEAAiE;AACjE,oEAAoE;AACpE,QAAQ;AACR,mGAAmG;AACnG,+DAA+D;AAC/D,yDAAyD;;;AAEzD,6DAA6D;AAC7D,MAAM,YAAY,GAA8B;IAC9C,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,QAAQ;CACd,CAAC;AAEF,gEAAgE;AAChE,qEAAqE;AACrE,MAAM,QAAQ,GAA0C;IACtD,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,SAAS;CACf,CAAC;AAaK,MAAM,qBAAqB,GAAG,CAAC,EACpC,KAAK,EACL,MAAM,EACN,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACnC,SAAS,EACT,SAAS,GACS,EAAU,EAAE;IAC9B,iEAAiE;IACjE,yEAAyE;IACzE,qDAAqD;IACrD,oEAAoE;IACpE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,GAAG,MAAM,mCAAmC,WAAW,WAAW,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAEpE,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACjC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEhC,mDAAmD;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE;QACX,YAAY,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;KAC3C;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAClC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5D,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACrC,YAAY,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAC5C,YAAY,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,EAAE,CAAC,CAAC;IAE1D,IAAI,SAAS,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;KAC/C;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AA/CW,QAAA,qBAAqB,yBA+ChC"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";AAAA,iEAAiE;AACjE,oEAAoE;AACpE,QAAQ;AACR,mGAAmG;AACnG,+DAA+D;AAC/D,yDAAyD;;;AAEzD,6DAA6D;AAC7D,MAAM,YAAY,GAA8B;IAC9C,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,QAAQ;CACd,CAAC;AAEF,gEAAgE;AAChE,qEAAqE;AACrE,MAAM,QAAQ,GAA0C;IACtD,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,SAAS;CACf,CAAC;AAaK,MAAM,qBAAqB,GAAG,CAAC,EACpC,KAAK,EACL,MAAM,EACN,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACnC,SAAS,EACT,SAAS,GACS,EAAU,EAAE;IAC9B,iEAAiE;IACjE,yEAAyE;IACzE,qDAAqD;IACrD,oEAAoE;IACpE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,GAAG,MAAM,mCAAmC,WAAW,WAAW,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAEpE,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACjC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEhC,mDAAmD;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE;QACX,YAAY,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;KAC3C;IAED,oEAAoE;IACpE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAClC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5D,YAAY,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;IACrC,YAAY,CAAC,IAAI,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAC5C,YAAY,CAAC,IAAI,CAAC,oBAAoB,gBAAgB,EAAE,CAAC,CAAC;IAE1D,IAAI,SAAS,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;KAC/C;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC;AA/CW,QAAA,qBAAqB,yBA+ChC"}
@@ -0,0 +1,29 @@
1
+ import { Connection } from '@solana/web3.js';
2
+ import { ethers } from 'ethers';
3
+ import { Chain, WalletConnector } from '../wallet-connector';
4
+ import { IMyAlgoSigner } from './myalgoSigner';
5
+ declare class MyAlgo implements WalletConnector {
6
+ private client?;
7
+ private cache;
8
+ name: string;
9
+ canConnectViaQrCode: boolean;
10
+ canConnectViaCustodialService: boolean;
11
+ connectedChain: Chain;
12
+ supportedChains: Chain[];
13
+ constructor();
14
+ private getClient;
15
+ fetchPublicAddress(): Promise<string | undefined>;
16
+ getSigner(): Promise<IMyAlgoSigner>;
17
+ signMessage(messageToSign: string): Promise<string | undefined>;
18
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
19
+ getBalance(): Promise<string | undefined>;
20
+ endSession(): Promise<void>;
21
+ isInstalledOnBrowser(): boolean;
22
+ supportsNetworkSwitching(): boolean;
23
+ switchNetwork(): Promise<void>;
24
+ getWeb3Provider(): void | ethers.providers.Web3Provider | Connection | undefined;
25
+ setupEventListeners(): void;
26
+ teardownEventListeners(): void;
27
+ getConnectedAccounts(): Promise<string[]>;
28
+ }
29
+ export default MyAlgo;
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const myalgo_connect_1 = __importDefault(require("@randlabs/myalgo-connect"));
16
+ const localStorageAsync_1 = require("../../utils/localStorageAsync");
17
+ const myalgoSigner_1 = require("./myalgoSigner");
18
+ const HTTP_STATUS_TOO_MANY_REQUESTS = 429;
19
+ const HTTP_STATUS_NOT_FOUND = 404;
20
+ class MyAlgoLocalStorageCache {
21
+ constructor() {
22
+ this.SESSION_STORAGE_KEY = 'algorand_myalgo_currentAddress';
23
+ this.LAST_BALANCE_KEY = 'algorand_myalgo_lastBalance';
24
+ }
25
+ getCurrentAddress() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ const addr = yield (0, localStorageAsync_1.getItemAsync)(this.SESSION_STORAGE_KEY);
28
+ if (!addr) {
29
+ return undefined;
30
+ }
31
+ return addr;
32
+ });
33
+ }
34
+ setCurrentAddress(addr) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ (0, localStorageAsync_1.setItemAsync)(this.SESSION_STORAGE_KEY, addr);
37
+ });
38
+ }
39
+ clearCurrentAddress() {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ (0, localStorageAsync_1.removeItemAsync)(this.SESSION_STORAGE_KEY);
42
+ });
43
+ }
44
+ getLastBalance() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const balance = yield (0, localStorageAsync_1.getItemAsync)(this.LAST_BALANCE_KEY);
47
+ if (!balance) {
48
+ return undefined;
49
+ }
50
+ return balance;
51
+ });
52
+ }
53
+ setLastBalance(balance) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ (0, localStorageAsync_1.setItemAsync)(this.LAST_BALANCE_KEY, balance);
56
+ });
57
+ }
58
+ }
59
+ class MyAlgo {
60
+ constructor() {
61
+ this.name = 'MyAlgo';
62
+ this.canConnectViaQrCode = false;
63
+ this.canConnectViaCustodialService = true;
64
+ this.connectedChain = 'ALGO';
65
+ this.supportedChains = ['ALGO'];
66
+ this.cache = new MyAlgoLocalStorageCache();
67
+ }
68
+ getClient() {
69
+ if (!this.client) {
70
+ this.client = new myalgo_connect_1.default();
71
+ }
72
+ return this.client;
73
+ }
74
+ fetchPublicAddress() {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ const currentAddress = yield this.cache.getCurrentAddress();
77
+ if (currentAddress) {
78
+ return currentAddress;
79
+ }
80
+ const accounts = yield this.getClient().connect({
81
+ shouldSelectOneAccount: true,
82
+ });
83
+ if (accounts.length > 0) {
84
+ const [{ address }] = accounts;
85
+ yield this.cache.setCurrentAddress(address);
86
+ return address;
87
+ }
88
+ return '';
89
+ });
90
+ }
91
+ getSigner() {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const address = yield this.fetchPublicAddress();
94
+ if (!address)
95
+ throw new Error('MyAlgo Wallet Connector - Not connected!');
96
+ return new myalgoSigner_1.MyAlgoSigner(address, this.getClient());
97
+ });
98
+ }
99
+ signMessage(messageToSign) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const signer = yield this.getSigner();
102
+ const signature = yield signer.signBytes(Buffer.from(messageToSign));
103
+ return Buffer.from(signature).toString('hex');
104
+ });
105
+ }
106
+ proveOwnership(messageToSign) {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ return this.signMessage(messageToSign);
109
+ });
110
+ }
111
+ getBalance() {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ const address = yield this.fetchPublicAddress();
114
+ if (!address)
115
+ throw new Error('getBalance - Not connected!');
116
+ const response = yield fetch(`https://indexer.algoexplorerapi.io/v2/accounts/${address}`);
117
+ if (!response.ok) {
118
+ // if the request fails due to rate limits, return cached value
119
+ if (response.status === HTTP_STATUS_TOO_MANY_REQUESTS) {
120
+ return this.cache.getLastBalance();
121
+ }
122
+ // new accounts not yet indexed will return a 404
123
+ if (response.status === HTTP_STATUS_NOT_FOUND) {
124
+ return '0';
125
+ }
126
+ return undefined;
127
+ }
128
+ const accountInfo = yield response.json();
129
+ if (!accountInfo.account) {
130
+ return undefined;
131
+ }
132
+ const balance = accountInfo.account.amount.toString();
133
+ yield this.cache.setLastBalance(balance.toString());
134
+ return balance.toString();
135
+ });
136
+ }
137
+ endSession() {
138
+ return __awaiter(this, void 0, void 0, function* () {
139
+ yield this.cache.clearCurrentAddress();
140
+ });
141
+ }
142
+ isInstalledOnBrowser() {
143
+ return false;
144
+ }
145
+ supportsNetworkSwitching() {
146
+ return false;
147
+ }
148
+ switchNetwork() {
149
+ throw new Error('switchNetwork - Not supported');
150
+ }
151
+ getWeb3Provider() {
152
+ return undefined;
153
+ }
154
+ setupEventListeners() {
155
+ return;
156
+ }
157
+ teardownEventListeners() {
158
+ return;
159
+ }
160
+ getConnectedAccounts() {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ const account = yield this.fetchPublicAddress();
163
+ return account ? [account] : [];
164
+ });
165
+ }
166
+ }
167
+ exports.default = MyAlgo;
168
+ //# sourceMappingURL=myalgo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"myalgo.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/algorand/myalgo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import MyAlgoConnect from '@randlabs/myalgo-connect';
2
+ interface AlgorandSignedTx {
3
+ blob: Uint8Array;
4
+ txID: string;
5
+ }
6
+ export interface IMyAlgoSigner {
7
+ signBytes(bytes: Uint8Array): Promise<Uint8Array>;
8
+ signLogicSig(teal: Uint8Array): Promise<Uint8Array>;
9
+ signTransaction(txs: any[]): Promise<AlgorandSignedTx[]>;
10
+ tealSign(data: Uint8Array, contractAddress: string): Promise<Uint8Array>;
11
+ }
12
+ export declare class MyAlgoSigner implements IMyAlgoSigner {
13
+ private readonly connectedAddress;
14
+ private readonly client;
15
+ constructor(connectedAddress: string, client: MyAlgoConnect);
16
+ signBytes(bytes: Uint8Array): Promise<Uint8Array>;
17
+ signLogicSig(teal: Uint8Array): Promise<Uint8Array>;
18
+ signTransaction(txs: any[]): Promise<AlgorandSignedTx[]>;
19
+ tealSign(data: Uint8Array, contractAddress: string): Promise<Uint8Array>;
20
+ }
21
+ export {};
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MyAlgoSigner = void 0;
4
+ class MyAlgoSigner {
5
+ constructor(connectedAddress, client) {
6
+ this.connectedAddress = connectedAddress;
7
+ this.client = client;
8
+ }
9
+ signBytes(bytes) {
10
+ return this.client.signBytes(bytes, this.connectedAddress);
11
+ }
12
+ signLogicSig(teal) {
13
+ return this.client.signLogicSig(teal, this.connectedAddress);
14
+ }
15
+ signTransaction(txs) {
16
+ return this.client.signTransaction(txs);
17
+ }
18
+ tealSign(data, contractAddress) {
19
+ return this.client.tealSign(data, contractAddress, this.connectedAddress);
20
+ }
21
+ }
22
+ exports.MyAlgoSigner = MyAlgoSigner;
23
+ //# sourceMappingURL=myalgoSigner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"myalgoSigner.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/algorand/myalgoSigner.ts"],"names":[],"mappings":";;;AAcA,MAAa,YAAY;IACvB,YACmB,gBAAwB,EACxB,MAAqB;QADrB,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,WAAM,GAAN,MAAM,CAAe;IACrC,CAAC;IAEJ,SAAS,CAAC,KAAiB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,eAAe,CAAC,GAAU;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,IAAgB,EAAE,eAAuB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5E,CAAC;CACF;AArBD,oCAqBC"}
@@ -1,7 +1,8 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { Connection } from '@solana/web3.js';
3
3
  import { ISolana } from './window';
4
- export declare type Chain = 'ETH' | 'FLOW' | 'SOL' | 'EVM';
4
+ import { IMyAlgoSigner } from './algorand/myalgoSigner';
5
+ export declare type Chain = 'ETH' | 'FLOW' | 'SOL' | 'EVM' | 'ALGO';
5
6
  export declare type PayloadParams = {
6
7
  params: {
7
8
  accounts: string[];
@@ -26,7 +27,7 @@ export interface WalletConnector {
26
27
  fetchPublicAddress(opts?: FetchPublicAddressOpts, nonce?: string): Promise<string | undefined>;
27
28
  getBalance(): Promise<string | undefined>;
28
29
  getConnectedAccounts(): Promise<string[]>;
29
- getSigner(): Promise<ethers.providers.JsonRpcSigner | ISolana | undefined>;
30
+ getSigner(): Promise<ethers.providers.JsonRpcSigner | ISolana | IMyAlgoSigner | undefined>;
30
31
  getWeb3Provider(): ethers.providers.Web3Provider | Connection | undefined | void;
31
32
  isInstalledOnBrowser(): boolean;
32
33
  name: string;