@dynamic-labs/multi-wallet 0.11.55 → 0.11.57

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,12 +1,13 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.11.55",
3
+ "version": "0.11.57",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
7
7
  "repository": "git://github.com/dynamic-labs/DynamicAuth.git",
8
8
  "dependencies": {
9
9
  "buffer": "^6.0.3",
10
+ "starknet": "^3.12.3",
10
11
  "ethers": "^5.6.9",
11
12
  "@randlabs/myalgo-connect": "^1.3.0",
12
13
  "@solana/web3.js": "^1.50.1",
@@ -14,7 +15,8 @@
14
15
  "@walletconnect/client": "^1.8.0",
15
16
  "@blocto/sdk": "^0.3.0-beta.2",
16
17
  "@walletconnect/ethereum-provider": "^1.7.8",
17
- "@onflow/fcl": "1.2.1"
18
+ "@onflow/fcl": "1.2.1",
19
+ "get-starknet": "^1.5.0"
18
20
  },
19
21
  "description": "Multi-wallet is a toolkit for working with many different wallets to create and verify signatures",
20
22
  "bugs": {
@@ -195,6 +195,34 @@
195
195
  "disabled": false
196
196
  }
197
197
  },
198
+ "argentx": {
199
+ "desktop": {
200
+ "chrome": "https://chrome.google.com/webstore/detail/argent-x/dlcobpjiigpikoobohmabehhmhfoodbb",
201
+ "firefox": "https://addons.mozilla.org/en-GB/firefox/addon/argent-x/",
202
+ "brave": "https://chrome.google.com/webstore/detail/argent-x/dlcobpjiigpikoobohmabehhmhfoodbb",
203
+ "edge": "",
204
+ "safari": ""
205
+ },
206
+ "mobile": {
207
+ "android": "",
208
+ "ios": "",
209
+ "disabled": true
210
+ }
211
+ },
212
+ "braavos": {
213
+ "desktop": {
214
+ "chrome": "https://chrome.google.com/webstore/detail/braavos-wallet/jnlgamecbpmbajjfhmmmlhejkemejdma",
215
+ "firefox": "https://addons.mozilla.org/en-US/firefox/addon/braavos-wallet/",
216
+ "brave": "https://chrome.google.com/webstore/detail/braavos-wallet/jnlgamecbpmbajjfhmmmlhejkemejdma",
217
+ "edge": "https://microsoftedge.microsoft.com/addons/detail/braavos-wallet/hkkpjehhcnhgefhbdcgfkeegglpjchdc",
218
+ "safari": ""
219
+ },
220
+ "mobile": {
221
+ "android": "https://play.google.com/store/apps/details?id=app.braavos.wallet",
222
+ "ios": "https://apps.apple.com/us/app/braavos-wallet/id1636013523",
223
+ "disabled": false
224
+ }
225
+ },
198
226
  "cryptocom": {
199
227
  "desktop": {
200
228
  "chrome": "",
@@ -26,6 +26,8 @@ const GameStop_1 = __importDefault(require("./wallets/ethereum/injected/GameStop
26
26
  const ExodusEvm_1 = __importDefault(require("./wallets/ethereum/injected/ExodusEvm"));
27
27
  const ExodusSol_1 = __importDefault(require("./wallets/solana/injected/ExodusSol"));
28
28
  const BloctoInjected_1 = __importDefault(require("./wallets/ethereum/injected/BloctoInjected"));
29
+ const argentx_1 = __importDefault(require("./wallets/starknet/argentx"));
30
+ const braavos_1 = __importDefault(require("./wallets/starknet/braavos"));
29
31
  const BloctoEvm_1 = __importDefault(require("./wallets/ethereum/BloctoEvm"));
30
32
  const phantom_ledger_1 = __importDefault(require("./wallets/solana/phantom-ledger"));
31
33
  const CoinbaseSolana_1 = __importDefault(require("./wallets/solana/CoinbaseSolana"));
@@ -66,6 +68,8 @@ const getSupportedWallets = ({ appLogoUrl, appName, evmNetworks, skipMemo } = {
66
68
  new ExodusSol_1.default(),
67
69
  new Opera_1.default({ evmNetworks }),
68
70
  new myalgo_1.default(),
71
+ new argentx_1.default(),
72
+ new braavos_1.default(),
69
73
  new phantom_ledger_1.default(),
70
74
  new CoinbaseSolana_1.default(),
71
75
  new Frame_1.default({ evmNetworks }),
@@ -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":"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"}
@@ -1 +1,5 @@
1
+ import { TypedData } from 'starknet/dist/utils/typedData';
1
2
  export declare const bufferToBase64: (buf: Uint8Array) => string;
3
+ declare type StarknetChainId = 'SN_MAIN' | 'SN_GOERLI';
4
+ export declare const formatTypedDataMessage: (inputMessage: string, chainId?: StarknetChainId) => TypedData;
5
+ export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bufferToBase64 = void 0;
3
+ exports.formatTypedDataMessage = exports.bufferToBase64 = void 0;
4
+ const package_json_1 = require("../../package.json");
4
5
  const bufferToBase64 = (buf) => {
5
6
  const binstr = Array.prototype.map
6
7
  .call(buf, (ch) => String.fromCharCode(ch))
@@ -8,4 +9,40 @@ const bufferToBase64 = (buf) => {
8
9
  return btoa(binstr);
9
10
  };
10
11
  exports.bufferToBase64 = bufferToBase64;
12
+ const defaultTypedData = {
13
+ domain: {
14
+ name: 'Dynamic Sample DApp',
15
+ version: package_json_1.version,
16
+ },
17
+ primaryType: 'Message',
18
+ types: {
19
+ Message: [
20
+ {
21
+ name: 'message',
22
+ type: 'felt',
23
+ },
24
+ ],
25
+ StarkNetDomain: [
26
+ {
27
+ name: 'name',
28
+ type: 'felt',
29
+ },
30
+ {
31
+ name: 'chainId',
32
+ type: 'felt',
33
+ },
34
+ {
35
+ name: 'version',
36
+ type: 'felt',
37
+ },
38
+ ],
39
+ },
40
+ };
41
+ const formatTypedDataMessage = (inputMessage, chainId = 'SN_MAIN') => {
42
+ const message = {
43
+ message: inputMessage.substring(0, 31),
44
+ };
45
+ return Object.assign(Object.assign({}, defaultTypedData), { domain: Object.assign(Object.assign({}, defaultTypedData.domain), { chainId }), message });
46
+ };
47
+ exports.formatTypedDataMessage = formatTypedDataMessage;
11
48
  //# sourceMappingURL=convertors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertors.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/convertors.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,GAAe,EAAU,EAAE;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG;SAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB"}
1
+ {"version":3,"file":"convertors.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/convertors.ts"],"names":[],"mappings":";;;AAEA,qDAA6C;AAEtC,MAAM,cAAc,GAAG,CAAC,GAAe,EAAU,EAAE;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG;SAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB;AAIF,MAAM,gBAAgB,GAAG;IACvB,MAAM,EAAE;QACN,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAP,sBAAO;KACR;IACD,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;aACb;SACF;QACD,cAAc,EAAE;YACd;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;aACb;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;aACb;SACF;KACF;CACF,CAAC;AAEK,MAAM,sBAAsB,GAAG,CACpC,YAAoB,EACpB,UAA2B,SAAS,EACzB,EAAE;IACb,MAAM,OAAO,GAA4B;QACvC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;KACvC,CAAC;IAEF,OAAO,gCACF,gBAAgB,KACnB,MAAM,kCACD,gBAAgB,CAAC,MAAM,KAC1B,OAAO,KAET,OAAO,GACK,CAAC;AACjB,CAAC,CAAC;AAhBW,QAAA,sBAAsB,0BAgBjC"}
@@ -12,8 +12,12 @@ const fullBlockchainNames = {
12
12
  EVM: 'Ethereum',
13
13
  FLOW: 'Flow',
14
14
  SOL: 'Solana',
15
+ STARK: 'Starknet',
15
16
  };
16
17
  const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, publicKey, issuedAt = new Date().toISOString(), statement, requestId, }) => {
18
+ if (blockchain === 'STARK') {
19
+ return nonce;
20
+ }
17
21
  // This format follows the sign-in with ethereum (SIWE) standard,
18
22
  // but we are using it also for non-ethereum wallets for now (eg. Solana)
19
23
  // for more context on format and fields, please see:
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA8C;AAI9C,wDAAgC;AAEhC,MAAM,mBAAmB,GAA0B;IACjD,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,QAAQ;CACd,CAAC;AAcK,MAAM,qBAAqB,GAAG,CAAC,EACpC,UAAU,EACV,MAAM,EACN,OAAO,EACP,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,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,MAAM,mCAAmC,cAAc,WAAW,CAAC;IACrF,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,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;IAChC,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;AAEF,4EAA4E;AAC5E,2EAA2E;AAC3E,6CAA6C;AACtC,MAAM,eAAe,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EACR,EAAE;IACV,IAAI;QACF,IAAI,OAAO,EAAE;YACX,OAAO,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;SAC9B;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,iBAAO,CAAC,GAAG,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;KACvE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/utils/message.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA8C;AAI9C,wDAAgC;AAEhC,MAAM,mBAAmB,GAA0B;IACjD,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,UAAU;CAClB,CAAC;AAcK,MAAM,qBAAqB,GAAG,CAAC,EACpC,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,SAAS,EACT,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACnC,SAAS,EACT,SAAS,GACS,EAAU,EAAE;IAC9B,IAAI,UAAU,KAAK,OAAO,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IACD,iEAAiE;IACjE,yEAAyE;IACzE,qDAAqD;IACrD,oEAAoE;IACpE,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,MAAM,mCAAmC,cAAc,WAAW,CAAC;IACrF,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,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;IAChC,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;AAlDW,QAAA,qBAAqB,yBAkDhC;AAEF,4EAA4E;AAC5E,2EAA2E;AAC3E,6CAA6C;AACtC,MAAM,eAAe,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EACR,EAAE;IACV,IAAI;QACF,IAAI,OAAO,EAAE;YACX,OAAO,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;SAC9B;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,iBAAO,CAAC,GAAG,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;KACvE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAZW,QAAA,eAAe,mBAY1B"}
@@ -1 +1,2 @@
1
1
  export declare const infuraId = "87939db78f824920ada5c872db3e56b8";
2
+ export declare const ethStarknetAddress = "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7";
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.infuraId = void 0;
3
+ exports.ethStarknetAddress = exports.infuraId = void 0;
4
4
  exports.infuraId = '87939db78f824920ada5c872db3e56b8';
5
+ exports.ethStarknetAddress = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';
5
6
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,kCAAkC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../packages/multi-wallet/src/wallets/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,kCAAkC,CAAC;AAC9C,QAAA,kBAAkB,GAC7B,oEAAoE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { WalletConnector } from '../wallet-connector';
2
+ import StarknetProvider from './starknetProvider';
3
+ declare class ArgentX extends StarknetProvider implements WalletConnector {
4
+ constructor();
5
+ }
6
+ export default ArgentX;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const starknetProvider_1 = __importDefault(require("./starknetProvider"));
7
+ class ArgentX extends starknetProvider_1.default {
8
+ constructor() {
9
+ super('Argent X');
10
+ }
11
+ }
12
+ exports.default = ArgentX;
13
+ //# sourceMappingURL=argentx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"argentx.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/argentx.ts"],"names":[],"mappings":";;;;;AAEA,0EAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,UAAU,CAAC,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { WalletConnector } from '../wallet-connector';
2
+ import StarknetProvider from './starknetProvider';
3
+ declare class Braavos extends StarknetProvider implements WalletConnector {
4
+ constructor();
5
+ }
6
+ export default Braavos;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const starknetProvider_1 = __importDefault(require("./starknetProvider"));
7
+ class Braavos extends starknetProvider_1.default {
8
+ constructor() {
9
+ super('Braavos');
10
+ }
11
+ }
12
+ exports.default = Braavos;
13
+ //# sourceMappingURL=braavos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"braavos.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/braavos.ts"],"names":[],"mappings":";;;;;AAEA,0EAAkD;AAElD,MAAM,OAAQ,SAAQ,0BAAgB;IACpC;QACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACnB,CAAC;CACF;AAED,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,340 @@
1
+ [
2
+ {
3
+ "members": [
4
+ {
5
+ "name": "low",
6
+ "offset": 0,
7
+ "type": "felt"
8
+ },
9
+ {
10
+ "name": "high",
11
+ "offset": 1,
12
+ "type": "felt"
13
+ }
14
+ ],
15
+ "name": "Uint256",
16
+ "size": 2,
17
+ "type": "struct"
18
+ },
19
+ {
20
+ "data": [
21
+ {
22
+ "name": "from_",
23
+ "type": "felt"
24
+ },
25
+ {
26
+ "name": "to",
27
+ "type": "felt"
28
+ },
29
+ {
30
+ "name": "value",
31
+ "type": "Uint256"
32
+ }
33
+ ],
34
+ "keys": [],
35
+ "name": "Transfer",
36
+ "type": "event"
37
+ },
38
+ {
39
+ "data": [
40
+ {
41
+ "name": "owner",
42
+ "type": "felt"
43
+ },
44
+ {
45
+ "name": "spender",
46
+ "type": "felt"
47
+ },
48
+ {
49
+ "name": "value",
50
+ "type": "Uint256"
51
+ }
52
+ ],
53
+ "keys": [],
54
+ "name": "Approval",
55
+ "type": "event"
56
+ },
57
+ {
58
+ "inputs": [],
59
+ "name": "name",
60
+ "outputs": [
61
+ {
62
+ "name": "name",
63
+ "type": "felt"
64
+ }
65
+ ],
66
+ "stateMutability": "view",
67
+ "type": "function"
68
+ },
69
+ {
70
+ "inputs": [],
71
+ "name": "symbol",
72
+ "outputs": [
73
+ {
74
+ "name": "symbol",
75
+ "type": "felt"
76
+ }
77
+ ],
78
+ "stateMutability": "view",
79
+ "type": "function"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "totalSupply",
84
+ "outputs": [
85
+ {
86
+ "name": "totalSupply",
87
+ "type": "Uint256"
88
+ }
89
+ ],
90
+ "stateMutability": "view",
91
+ "type": "function"
92
+ },
93
+ {
94
+ "inputs": [],
95
+ "name": "decimals",
96
+ "outputs": [
97
+ {
98
+ "name": "decimals",
99
+ "type": "felt"
100
+ }
101
+ ],
102
+ "stateMutability": "view",
103
+ "type": "function"
104
+ },
105
+ {
106
+ "inputs": [
107
+ {
108
+ "name": "account",
109
+ "type": "felt"
110
+ }
111
+ ],
112
+ "name": "balanceOf",
113
+ "outputs": [
114
+ {
115
+ "name": "balance",
116
+ "type": "Uint256"
117
+ }
118
+ ],
119
+ "stateMutability": "view",
120
+ "type": "function"
121
+ },
122
+ {
123
+ "inputs": [
124
+ {
125
+ "name": "owner",
126
+ "type": "felt"
127
+ },
128
+ {
129
+ "name": "spender",
130
+ "type": "felt"
131
+ }
132
+ ],
133
+ "name": "allowance",
134
+ "outputs": [
135
+ {
136
+ "name": "remaining",
137
+ "type": "Uint256"
138
+ }
139
+ ],
140
+ "stateMutability": "view",
141
+ "type": "function"
142
+ },
143
+ {
144
+ "inputs": [],
145
+ "name": "permittedMinter",
146
+ "outputs": [
147
+ {
148
+ "name": "minter",
149
+ "type": "felt"
150
+ }
151
+ ],
152
+ "stateMutability": "view",
153
+ "type": "function"
154
+ },
155
+ {
156
+ "inputs": [],
157
+ "name": "initialized",
158
+ "outputs": [
159
+ {
160
+ "name": "res",
161
+ "type": "felt"
162
+ }
163
+ ],
164
+ "stateMutability": "view",
165
+ "type": "function"
166
+ },
167
+ {
168
+ "inputs": [],
169
+ "name": "get_version",
170
+ "outputs": [
171
+ {
172
+ "name": "version",
173
+ "type": "felt"
174
+ }
175
+ ],
176
+ "stateMutability": "view",
177
+ "type": "function"
178
+ },
179
+ {
180
+ "inputs": [],
181
+ "name": "get_identity",
182
+ "outputs": [
183
+ {
184
+ "name": "identity",
185
+ "type": "felt"
186
+ }
187
+ ],
188
+ "stateMutability": "view",
189
+ "type": "function"
190
+ },
191
+ {
192
+ "inputs": [
193
+ {
194
+ "name": "init_vector_len",
195
+ "type": "felt"
196
+ },
197
+ {
198
+ "name": "init_vector",
199
+ "type": "felt*"
200
+ }
201
+ ],
202
+ "name": "initialize",
203
+ "outputs": [],
204
+ "type": "function"
205
+ },
206
+ {
207
+ "inputs": [
208
+ {
209
+ "name": "recipient",
210
+ "type": "felt"
211
+ },
212
+ {
213
+ "name": "amount",
214
+ "type": "Uint256"
215
+ }
216
+ ],
217
+ "name": "transfer",
218
+ "outputs": [
219
+ {
220
+ "name": "success",
221
+ "type": "felt"
222
+ }
223
+ ],
224
+ "type": "function"
225
+ },
226
+ {
227
+ "inputs": [
228
+ {
229
+ "name": "sender",
230
+ "type": "felt"
231
+ },
232
+ {
233
+ "name": "recipient",
234
+ "type": "felt"
235
+ },
236
+ {
237
+ "name": "amount",
238
+ "type": "Uint256"
239
+ }
240
+ ],
241
+ "name": "transferFrom",
242
+ "outputs": [
243
+ {
244
+ "name": "success",
245
+ "type": "felt"
246
+ }
247
+ ],
248
+ "type": "function"
249
+ },
250
+ {
251
+ "inputs": [
252
+ {
253
+ "name": "spender",
254
+ "type": "felt"
255
+ },
256
+ {
257
+ "name": "amount",
258
+ "type": "Uint256"
259
+ }
260
+ ],
261
+ "name": "approve",
262
+ "outputs": [
263
+ {
264
+ "name": "success",
265
+ "type": "felt"
266
+ }
267
+ ],
268
+ "type": "function"
269
+ },
270
+ {
271
+ "inputs": [
272
+ {
273
+ "name": "spender",
274
+ "type": "felt"
275
+ },
276
+ {
277
+ "name": "added_value",
278
+ "type": "Uint256"
279
+ }
280
+ ],
281
+ "name": "increaseAllowance",
282
+ "outputs": [
283
+ {
284
+ "name": "success",
285
+ "type": "felt"
286
+ }
287
+ ],
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [
292
+ {
293
+ "name": "spender",
294
+ "type": "felt"
295
+ },
296
+ {
297
+ "name": "subtracted_value",
298
+ "type": "Uint256"
299
+ }
300
+ ],
301
+ "name": "decreaseAllowance",
302
+ "outputs": [
303
+ {
304
+ "name": "success",
305
+ "type": "felt"
306
+ }
307
+ ],
308
+ "type": "function"
309
+ },
310
+ {
311
+ "inputs": [
312
+ {
313
+ "name": "recipient",
314
+ "type": "felt"
315
+ },
316
+ {
317
+ "name": "amount",
318
+ "type": "Uint256"
319
+ }
320
+ ],
321
+ "name": "permissionedMint",
322
+ "outputs": [],
323
+ "type": "function"
324
+ },
325
+ {
326
+ "inputs": [
327
+ {
328
+ "name": "account",
329
+ "type": "felt"
330
+ },
331
+ {
332
+ "name": "amount",
333
+ "type": "Uint256"
334
+ }
335
+ ],
336
+ "name": "permissionedBurn",
337
+ "outputs": [],
338
+ "type": "function"
339
+ }
340
+ ]
@@ -0,0 +1,27 @@
1
+ import { SignerInterface } from 'starknet';
2
+ import { Chain, WalletConnector, WalletEventListeners } from '../wallet-connector';
3
+ import { StarknetProviderHelper } from './starknetProviderHelper';
4
+ declare class StarknetProvider extends StarknetProviderHelper implements WalletConnector {
5
+ name: string;
6
+ connectedChain: Chain;
7
+ supportedChains: Chain[];
8
+ canConnectViaQrCode: boolean;
9
+ canConnectViaCustodialService: boolean;
10
+ protected starknetProviderHelper: StarknetProviderHelper;
11
+ constructor(name: string);
12
+ connect(): Promise<void>;
13
+ fetchPublicAddress(): Promise<string | undefined>;
14
+ getSigner(): Promise<SignerInterface | undefined>;
15
+ getWeb3Provider(): void;
16
+ signMessage(messageToSign: string): Promise<string | undefined>;
17
+ proveOwnership(messageToSign: string): Promise<string | undefined>;
18
+ getBalance(): Promise<string | undefined>;
19
+ endSession(): Promise<void>;
20
+ isInstalledOnBrowser(): boolean;
21
+ supportsNetworkSwitching(): boolean;
22
+ switchNetwork(): Promise<void>;
23
+ setupEventListeners(listeners: WalletEventListeners): void;
24
+ teardownEventListeners(): void;
25
+ getConnectedAccounts(): Promise<string[]>;
26
+ }
27
+ export default StarknetProvider;
@@ -0,0 +1,90 @@
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
+ const get_starknet_1 = require("get-starknet");
13
+ const starknetProviderHelper_1 = require("./starknetProviderHelper");
14
+ class StarknetProvider extends starknetProviderHelper_1.StarknetProviderHelper {
15
+ constructor(name) {
16
+ super();
17
+ this.connectedChain = 'STARK';
18
+ this.supportedChains = ['STARK'];
19
+ this.canConnectViaQrCode = false;
20
+ this.canConnectViaCustodialService = false;
21
+ this.starknetProviderHelper = new starknetProviderHelper_1.StarknetProviderHelper();
22
+ this.name = name;
23
+ }
24
+ connect() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ yield this.starknetProviderHelper.connectWithName(this.name);
27
+ });
28
+ }
29
+ fetchPublicAddress() {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const address = yield this.starknetProviderHelper.getPublicAddressWithName(this.name);
32
+ return address;
33
+ });
34
+ }
35
+ getSigner() {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const account = yield this.starknetProviderHelper.getConnectedAccountWithName(this.name);
38
+ return account === null || account === void 0 ? void 0 : account.signer;
39
+ });
40
+ }
41
+ getWeb3Provider() {
42
+ return;
43
+ }
44
+ signMessage(messageToSign) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const signature = yield this.starknetProviderHelper._signMessage(this.name, messageToSign);
47
+ return signature === null || signature === void 0 ? void 0 : signature.join(',');
48
+ });
49
+ }
50
+ proveOwnership(messageToSign) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ return this.signMessage(messageToSign);
53
+ });
54
+ }
55
+ getBalance() {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ return this.starknetProviderHelper._getBalance(this.name);
58
+ });
59
+ }
60
+ endSession() {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ (0, get_starknet_1.disconnect)({
63
+ clearLastWallet: true,
64
+ });
65
+ });
66
+ }
67
+ isInstalledOnBrowser() {
68
+ return this.starknetProviderHelper.isInstalledHelper(this.name);
69
+ }
70
+ supportsNetworkSwitching() {
71
+ return false;
72
+ }
73
+ switchNetwork() {
74
+ throw new Error('switchNetwork - Not supported');
75
+ }
76
+ setupEventListeners(listeners) {
77
+ this.starknetProviderHelper._setupEventListeners(listeners, this.name);
78
+ }
79
+ teardownEventListeners() {
80
+ this.starknetProviderHelper._teardownEventListeners(this.name);
81
+ }
82
+ getConnectedAccounts() {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const account = yield this.starknetProviderHelper.getConnectedAccountWithName(this.name);
85
+ return (account === null || account === void 0 ? void 0 : account.address) ? [account === null || account === void 0 ? void 0 : account.address] : [];
86
+ });
87
+ }
88
+ }
89
+ exports.default = StarknetProvider;
90
+ //# sourceMappingURL=starknetProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starknetProvider.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/starknetProvider.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAA0C;AAS1C,qEAAkE;AAElE,MAAM,gBACJ,SAAQ,+CAAsB;IAa9B,YAAY,IAAY;QACtB,KAAK,EAAE,CAAC;QATV,mBAAc,GAAU,OAAO,CAAC;QAChC,oBAAe,GAAY,CAAC,OAAO,CAAC,CAAC;QAErC,wBAAmB,GAAG,KAAK,CAAC;QAC5B,kCAA6B,GAAG,KAAK,CAAC;QAE5B,2BAAsB,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAI9D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEK,OAAO;;YACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,kBAAkB;;YACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CACxE,IAAI,CAAC,IAAI,CACV,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEK,SAAS;;YACb,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3E,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;QACzB,CAAC;KAAA;IAED,eAAe;QACb,OAAO;IACT,CAAC;IAEK,WAAW,CAAC,aAAqB;;YACrC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAC9D,IAAI,CAAC,IAAI,EACT,aAAa,CACd,CAAC;YAEF,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;KAAA;IAEK,cAAc,CAAC,aAAqB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;KAAA;IAEK,UAAU;;YACd,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,UAAU;;YACd,IAAA,yBAAU,EAAC;gBACT,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;KAAA;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,wBAAwB;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa;QACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB,CAAC,SAA+B;QACjD,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAEK,oBAAoB;;YACxB,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE3E,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAC,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC;KAAA;CACF;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { IStarknetWindowObject } from 'get-starknet';
2
+ import { AccountInterface } from 'starknet';
3
+ import { WalletEventListeners } from '../wallet-connector';
4
+ export declare class StarknetProviderHelper {
5
+ private _client?;
6
+ _findProviderWithName(walletName: string): Promise<IStarknetWindowObject | undefined>;
7
+ getInstance(walletName: string): Promise<IStarknetWindowObject | undefined>;
8
+ isInstalledHelper(walletName: string): boolean;
9
+ getPublicAddressWithName(walletName: string): Promise<string | undefined>;
10
+ connectWithName(walletName: string): Promise<IStarknetWindowObject | undefined>;
11
+ _signMessage(walletName: string, messageToSign: string): Promise<string[] | undefined>;
12
+ _getBalance(walletName: string): Promise<string | undefined>;
13
+ _setupEventListeners(listeners: WalletEventListeners, walletName: string): Promise<() => void>;
14
+ _teardownEventListeners(walletName: string): Promise<void>;
15
+ getConnectedAccountWithName(walletName: string): Promise<AccountInterface | undefined>;
16
+ }
@@ -0,0 +1,152 @@
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
+ exports.StarknetProviderHelper = void 0;
16
+ const get_starknet_1 = require("get-starknet");
17
+ const starknet_1 = require("starknet");
18
+ const ethers_1 = require("ethers");
19
+ const uint256_1 = require("starknet/dist/utils/uint256");
20
+ const convertors_1 = require("../../utils/convertors");
21
+ const constants_1 = require("../constants");
22
+ const ethereumContractAbi_json_1 = __importDefault(require("./ethereumContractAbi.json"));
23
+ const ACCOUNT_CHANGED_EVENT_LISTENER = 'accountsChanged';
24
+ const NETWORK_CHANGED_EVENT_LISTENER = 'networkChanged';
25
+ class StarknetProviderHelper {
26
+ _findProviderWithName(walletName) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const providers = yield (0, get_starknet_1.getInstalledWallets)();
29
+ return providers.find((provider) => provider.name === walletName);
30
+ });
31
+ }
32
+ getInstance(walletName) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ if (!this._client) {
35
+ this._client = yield this.connectWithName(walletName);
36
+ }
37
+ return this._client;
38
+ });
39
+ }
40
+ isInstalledHelper(walletName) {
41
+ let starknetWindowInstance;
42
+ if (walletName === 'Braavos') {
43
+ starknetWindowInstance = window.starknet_braavos;
44
+ }
45
+ else {
46
+ starknetWindowInstance = window.starknet;
47
+ }
48
+ return (starknetWindowInstance === null || starknetWindowInstance === void 0 ? void 0 : starknetWindowInstance.name) === walletName;
49
+ }
50
+ getPublicAddressWithName(walletName) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const instance = yield this.getInstance(walletName);
53
+ if (!(instance === null || instance === void 0 ? void 0 : instance.isConnected)) {
54
+ return undefined;
55
+ }
56
+ const { selectedAddress } = instance;
57
+ return selectedAddress || Promise.resolve(undefined);
58
+ });
59
+ }
60
+ connectWithName(walletName) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const provider = yield this._findProviderWithName(walletName);
63
+ if (!provider) {
64
+ return undefined;
65
+ }
66
+ try {
67
+ if (!provider.isConnected) {
68
+ yield provider.enable({ showModal: false });
69
+ }
70
+ return provider;
71
+ }
72
+ catch (err) {
73
+ return undefined;
74
+ }
75
+ });
76
+ }
77
+ _signMessage(walletName, messageToSign) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ const walletAddress = yield this.getPublicAddressWithName(walletName);
80
+ if (!walletAddress) {
81
+ return undefined;
82
+ }
83
+ const account = yield this.getConnectedAccountWithName(walletName);
84
+ const encodedMessage = (0, convertors_1.formatTypedDataMessage)(messageToSign);
85
+ const signature = yield (account === null || account === void 0 ? void 0 : account.signMessage(encodedMessage));
86
+ return signature;
87
+ });
88
+ }
89
+ _getBalance(walletName) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ const walletAddress = yield this.getPublicAddressWithName(walletName);
92
+ if (!walletAddress) {
93
+ return undefined;
94
+ }
95
+ const contract = new starknet_1.Contract(ethereumContractAbi_json_1.default, constants_1.ethStarknetAddress);
96
+ try {
97
+ const { balance } = yield contract.balanceOf(walletAddress);
98
+ const formattedBalance = ethers_1.utils.formatUnits((0, uint256_1.uint256ToBN)(balance).toNumber(), 18);
99
+ return Number.parseFloat(formattedBalance).toFixed(4);
100
+ }
101
+ catch (error) {
102
+ throw new Error('Something went wrong');
103
+ }
104
+ });
105
+ }
106
+ _setupEventListeners(listeners, walletName) {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ const instance = yield this._findProviderWithName(walletName);
109
+ const handleAccountChange = (address) => __awaiter(this, void 0, void 0, function* () {
110
+ var _a, _b;
111
+ if (!address) {
112
+ yield ((_a = listeners.onDisconnect) === null || _a === void 0 ? void 0 : _a.call(listeners));
113
+ return;
114
+ }
115
+ if (address.toString()) {
116
+ yield ((_b = listeners.onAccountChange) === null || _b === void 0 ? void 0 : _b.call(listeners, [address.toString()]));
117
+ }
118
+ });
119
+ const handleNetworkChange = (network) => __awaiter(this, void 0, void 0, function* () {
120
+ var _c, _d;
121
+ if (!network) {
122
+ yield ((_c = listeners.onDisconnect) === null || _c === void 0 ? void 0 : _c.call(listeners));
123
+ return;
124
+ }
125
+ if (network.toString()) {
126
+ yield ((_d = listeners.onChainChange) === null || _d === void 0 ? void 0 : _d.call(listeners, network.toString()));
127
+ }
128
+ });
129
+ instance === null || instance === void 0 ? void 0 : instance.on(ACCOUNT_CHANGED_EVENT_LISTENER, handleAccountChange);
130
+ instance === null || instance === void 0 ? void 0 : instance.on(NETWORK_CHANGED_EVENT_LISTENER, handleNetworkChange);
131
+ return () => { };
132
+ });
133
+ }
134
+ _teardownEventListeners(walletName) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ const instance = yield this._findProviderWithName(walletName);
137
+ instance === null || instance === void 0 ? void 0 : instance.off(ACCOUNT_CHANGED_EVENT_LISTENER, () => { });
138
+ instance === null || instance === void 0 ? void 0 : instance.off(NETWORK_CHANGED_EVENT_LISTENER, () => { });
139
+ });
140
+ }
141
+ getConnectedAccountWithName(walletName) {
142
+ return __awaiter(this, void 0, void 0, function* () {
143
+ const instance = yield this._findProviderWithName(walletName);
144
+ if (!(instance === null || instance === void 0 ? void 0 : instance.isConnected)) {
145
+ return undefined;
146
+ }
147
+ return instance === null || instance === void 0 ? void 0 : instance.account;
148
+ });
149
+ }
150
+ }
151
+ exports.StarknetProviderHelper = StarknetProviderHelper;
152
+ //# sourceMappingURL=starknetProviderHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starknetProviderHelper.js","sourceRoot":"","sources":["../../../../../../packages/multi-wallet/src/wallets/starknet/starknetProviderHelper.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { Connection } from '@solana/web3.js';
3
3
  import BloctoSDK from '@blocto/sdk';
4
+ import { ProviderInterface, SignerInterface } from 'starknet';
4
5
  import { ISolana } from './window';
5
6
  import { IMyAlgoSigner } from './algorand/myalgoSigner';
6
- export declare type Chain = 'ETH' | 'FLOW' | 'SOL' | 'EVM' | 'ALGO';
7
+ export declare type Chain = 'ETH' | 'FLOW' | 'SOL' | 'EVM' | 'ALGO' | 'STARK';
7
8
  export declare type PayloadParams = {
8
9
  params: {
9
10
  accounts: string[];
@@ -29,8 +30,8 @@ export interface WalletConnector {
29
30
  fetchPublicAddress(opts?: FetchPublicAddressOpts, nonce?: string): Promise<string | undefined>;
30
31
  getBalance(): Promise<string | undefined>;
31
32
  getConnectedAccounts(): Promise<string[]>;
32
- getSigner(): Promise<ethers.providers.JsonRpcSigner | ISolana | IMyAlgoSigner | BloctoSDK | undefined>;
33
- getWeb3Provider(): ethers.providers.Web3Provider | Connection | undefined | void;
33
+ getSigner(): Promise<ethers.providers.JsonRpcSigner | ISolana | IMyAlgoSigner | BloctoSDK | SignerInterface | undefined>;
34
+ getWeb3Provider(): ethers.providers.Web3Provider | Connection | ProviderInterface | undefined | void;
34
35
  isInstalledOnBrowser(): boolean;
35
36
  name: string;
36
37
  proveOwnership(messageToSign: string): Promise<string | undefined>;
@@ -6,6 +6,7 @@
6
6
  * and also provider and previousProvider
7
7
  */
8
8
  import { Transaction } from '@solana/web3.js';
9
+ import { IStarknetWindowObject } from 'get-starknet';
9
10
  export interface IProvider {
10
11
  isBlocto?: boolean;
11
12
  isBraveWallet?: boolean;
@@ -36,6 +37,8 @@ export interface IWindow {
36
37
  location: Window['location'];
37
38
  solana: ISolana;
38
39
  solflare: ISolana;
40
+ starknet: IStarknetWindowObject;
41
+ starknet_braavos: IStarknetWindowObject;
39
42
  }
40
43
  export interface IEthereum {
41
44
  isBraveWallet: boolean;