@metamask/connect-multichain 0.5.3 → 0.6.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 (60) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/README.md +9 -3
  3. package/dist/browser/es/connect-multichain.d.mts +27 -4
  4. package/dist/browser/es/connect-multichain.mjs +603 -333
  5. package/dist/browser/es/connect-multichain.mjs.map +1 -1
  6. package/dist/browser/es/metafile-esm.json +1 -1
  7. package/dist/browser/iife/connect-multichain.d.ts +27 -4
  8. package/dist/browser/iife/connect-multichain.js +3363 -2993
  9. package/dist/browser/iife/connect-multichain.js.map +1 -1
  10. package/dist/browser/iife/metafile-iife.json +1 -1
  11. package/dist/browser/umd/connect-multichain.d.ts +27 -4
  12. package/dist/browser/umd/connect-multichain.js +603 -333
  13. package/dist/browser/umd/connect-multichain.js.map +1 -1
  14. package/dist/browser/umd/metafile-cjs.json +1 -1
  15. package/dist/node/cjs/connect-multichain.d.ts +27 -4
  16. package/dist/node/cjs/connect-multichain.js +421 -151
  17. package/dist/node/cjs/connect-multichain.js.map +1 -1
  18. package/dist/node/cjs/metafile-cjs.json +1 -1
  19. package/dist/node/es/connect-multichain.d.mts +27 -4
  20. package/dist/node/es/connect-multichain.mjs +421 -151
  21. package/dist/node/es/connect-multichain.mjs.map +1 -1
  22. package/dist/node/es/metafile-esm.json +1 -1
  23. package/dist/react-native/es/connect-multichain.d.mts +27 -4
  24. package/dist/react-native/es/connect-multichain.mjs +596 -326
  25. package/dist/react-native/es/connect-multichain.mjs.map +1 -1
  26. package/dist/react-native/es/metafile-esm.json +1 -1
  27. package/dist/src/domain/multichain/index.d.ts +15 -4
  28. package/dist/src/domain/multichain/index.d.ts.map +1 -1
  29. package/dist/src/domain/multichain/index.js +14 -0
  30. package/dist/src/domain/multichain/index.js.map +1 -1
  31. package/dist/src/domain/multichain/types.d.ts +12 -0
  32. package/dist/src/domain/multichain/types.d.ts.map +1 -1
  33. package/dist/src/multichain/index.d.ts +3 -2
  34. package/dist/src/multichain/index.d.ts.map +1 -1
  35. package/dist/src/multichain/index.js +158 -61
  36. package/dist/src/multichain/index.js.map +1 -1
  37. package/dist/src/multichain/transports/default/index.d.ts +3 -1
  38. package/dist/src/multichain/transports/default/index.d.ts.map +1 -1
  39. package/dist/src/multichain/transports/default/index.js +17 -11
  40. package/dist/src/multichain/transports/default/index.js.map +1 -1
  41. package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts +3 -1
  42. package/dist/src/multichain/transports/multichainApiClientWrapper/index.d.ts.map +1 -1
  43. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js +28 -31
  44. package/dist/src/multichain/transports/multichainApiClientWrapper/index.js.map +1 -1
  45. package/dist/src/multichain/transports/mwp/index.d.ts +15 -2
  46. package/dist/src/multichain/transports/mwp/index.d.ts.map +1 -1
  47. package/dist/src/multichain/transports/mwp/index.js +155 -38
  48. package/dist/src/multichain/transports/mwp/index.js.map +1 -1
  49. package/dist/src/multichain/utils/index.d.ts +23 -0
  50. package/dist/src/multichain/utils/index.d.ts.map +1 -1
  51. package/dist/src/multichain/utils/index.js +57 -4
  52. package/dist/src/multichain/utils/index.js.map +1 -1
  53. package/dist/src/polyfills/buffer-shim.js +4 -14
  54. package/dist/src/polyfills/buffer-shim.js.map +1 -1
  55. package/dist/src/store/adapters/web.d.ts +1 -1
  56. package/dist/src/store/adapters/web.d.ts.map +1 -1
  57. package/dist/src/store/adapters/web.js +1 -1
  58. package/dist/src/store/adapters/web.js.map +1 -1
  59. package/dist/types/connect-multichain.d.ts +27 -4
  60. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/default/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAGL,mBAAmB,GAIpB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAErB,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAQ1C,MAAM,OAAO,gBAAgB;IAA7B;;QACW,kDAAuD,IAAI,GAAG,EAAE,EAAC;QAEjE,sCAAwB,mBAAmB,EAAE,EAAC;QAE9C,kDAAyB;YAChC,OAAO,EAAE,uBAAuB;SACjC,EAAC;QAEO,4CAAmB,IAAI,GAAG,EAA0B,EAAC;QAE9D,2DAAqE;QAErE,+DAAyE;IA4R3E,CAAC;IA1LO,kBAAkB,CAGtB,OAAiB,EAAE,OAA8B;;YACjD,+CAA+C;YAC/C,uBAAA,IAAI,2EAAsB,MAA1B,IAAI,CAAwB,CAAC;YAE7B,sEAAsE;YACtE,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAE/C,4DAA4D;YAC5D,MAAM,OAAO,mBACX,OAAO,EAAE,KAAK,EACd,EAAE,EAAE,SAAS,IACV,OAAO,CACX,CAAC;YAEF,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;gBAChD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,uBAAA,IAAI,yCAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACxC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvC,CAAC,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,uBAAA,IAAI,+CAAuB,CAAC,OAAO,CAAC,CAAC;gBAE5D,uBAAA,IAAI,yCAAiB,CAAC,GAAG,CAAC,SAAS,EAAE;oBACnC,OAAO,EAAE,CAAC,QAA2B,EAAE,EAAE;wBACvC,OAAO,CAAC,QAAqB,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM;oBACN,OAAO;iBACR,CAAC,CAAC;gBAEH,iDAAiD;gBACjD,MAAM,CAAC,WAAW,CAChB;oBACE,MAAM,EAAE,wBAAwB;oBAChC,IAAI,EAAE;wBACJ,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,OAAO;qBACd;iBACF;gBACD,iDAAiD;gBACjD,QAAQ,CAAC,MAAM,CAChB,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,OAAO,CAAC,OAKb;;;YACC,sDAAsD;YACtD,uBAAA,IAAI,2EAAsB,MAA1B,IAAI,CAAwB,CAAC;YAE7B,MAAM,uBAAA,IAAI,mCAAW,CAAC,OAAO,EAAE,CAAC;YAEhC,qBAAqB;YACrB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CACvC,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAC/B,uBAAA,IAAI,+CAAuB,CAC5B,CAAC;YACF,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,aAAa,GAAG,cAAc,CAAC,MAAqB,CAAC;YAEzD,MAAM,mBAAmB,GAAgC;gBACvD,cAAc,EAAE,gBAAgB,CAC9B,iBAAiB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,EAAE,CAAC,EACxC,gBAAgB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,EAAE,CAAC,CAChD;gBACD,iBAAiB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;aAC9C,CAAC;YAEF,IAAI,aAAa,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBACtD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAC/B,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,mCAAI,EAAE,CACxB,CAAC;gBACb,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,EAAE,CAAC;gBAC7C,MAAM,sBAAsB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,mCAAI,EAAE,CAAC;gBAC7D,MAAM,wBAAwB,GAAG,uBAAuB,CACtD,aAAa,EACb,cAAc,EACd,aAAa,EACb,sBAAsB,CACvB,CAAC;gBAEF,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAC/D,uBAAA,IAAI,+CAAuB,CAC5B,CAAC;oBACF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;oBACD,aAAa,GAAG,QAAQ,CAAC,MAAqB,CAAC;gBACjD,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,aAAa,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAA,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAC/D,uBAAA,IAAI,+CAAuB,CAC5B,CAAC;gBACF,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;gBACD,aAAa,GAAG,QAAQ,CAAC,MAAqB,CAAC;YACjD,CAAC;YACD,uBAAA,IAAI,sEAAiB,MAArB,IAAI,EAAkB;gBACpB,MAAM,EAAE,uBAAuB;gBAC/B,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,UAAU;6DAAC,SAAkB,EAAE;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAE3E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACrE,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,MAAqB,CAAC;YAEzD,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,uBAAA,IAAI,+CAAuB,CAAC,KAAK,EAAE,CAAC;YAEpC,iDAAiD;YACjD,IAAI,uBAAA,IAAI,gDAAwB,EAAE,CAAC;gBACjC,iDAAiD;gBACjD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,uBAAA,IAAI,gDAAwB,CAAC,CAAC;gBACpE,uBAAA,IAAI,4CAA2B,SAAS,MAAA,CAAC;YAC3C,CAAC;YAED,sDAAsD;YACtD,IAAI,uBAAA,IAAI,oDAA4B,EAAE,CAAC;gBACrC,iDAAiD;gBACjD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,uBAAA,IAAI,oDAA4B,CAAC,CAAC;gBACxE,uBAAA,IAAI,gDAA+B,SAAS,MAAA,CAAC;YAC/C,CAAC;YAED,8BAA8B;YAC9B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,uBAAA,IAAI,yCAAiB,EAAE,CAAC;gBAChD,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,uBAAA,IAAI,yCAAiB,CAAC,KAAK,EAAE,CAAC;YAE9B,MAAM,uBAAA,IAAI,mCAAW,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;KAAA;IAED,WAAW;QACT,OAAO,uBAAA,IAAI,mCAAW,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAEK,OAAO;6DAIX,OAAiB,EACjB,UAAgC,uBAAA,IAAI,+CAAuB;YAE3D,OAAO,uBAAA,IAAI,mCAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;KAAA;IAED,cAAc,CAAC,QAAiC;QAC9C,uBAAA,IAAI,mCAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,uBAAA,IAAI,+CAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE;YACV,uBAAA,IAAI,+CAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC,CAAC;IACJ,CAAC;IAEK,gBAAgB;;YACpB,mFAAmF;YACnF,0FAA0F;YAC1F,sDAAsD;YACtD,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;QACJ,CAAC;KAAA;IAEK,8BAA8B;;YAClC,MAAM,IAAI,KAAK,CACb,sFAAsF,CACvF,CAAC;QACJ,CAAC;KAAA;CACF;scA1RkB,IAAa;IAC5B,KAAK,MAAM,QAAQ,IAAI,uBAAA,IAAI,+CAAuB,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,qDAAqD,EACrD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC,iGAEwB,KAAmB;;IAC1C,OAAO,CACL,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,IAAI,0CAAE,IAAI,MAAK,mBAAmB;QAC/C,iDAAiD;QACjD,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CACjC,CAAC;AACJ,CAAC,+EAEe,KAAmB;;IACjC,IAAI,CAAC,uBAAA,IAAI,8EAAyB,MAA7B,IAAI,EAA0B,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,IAAI,0CAAE,IAAI,CAAC;IAE7C,sEAAsE;IACtE,IACE,OAAO,YAAY,KAAK,QAAQ;QAChC,YAAY,KAAK,IAAI;QACrB,QAAQ,IAAI,YAAY,EACxB,CAAC;QACD,OAAO;IACT,CAAC;IAED,IACE,OAAO,YAAY,KAAK,QAAQ;QAChC,YAAY,KAAK,IAAI;QACrB,IAAI,IAAI,YAAY;QACpB,CAAC,QAAQ,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,CAAC,EACrD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,cAAc,GAAG,uBAAA,IAAI,yCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,uBAAA,IAAI,yCAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzC,MAAM,QAAQ,GAAG,YAAiC,CAAC;YACnD,IAAI,OAAO,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAC1C,cAAc,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,CACtD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,uFAEmB,KAAmB;;IACrC,IAAI,CAAC,uBAAA,IAAI,8EAAyB,MAA7B,IAAI,EAA0B,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,0CAAE,IAAI,0CAAE,IAAI,CAAC;IAE7C,IACE,CAAC,OAAO,YAAY,KAAK,QAAQ;QAC/B,YAAY,CAAC,MAAM,KAAK,uBAAuB,CAAC;QAClD,YAAY,CAAC,MAAM,KAAK,0BAA0B,EAClD,CAAC;QACD,uBAAA,IAAI,sEAAiB,MAArB,IAAI,EAAkB,YAAY,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;IAGC,oEAAoE;IACpE,IAAI,uBAAA,IAAI,gDAAwB,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,8CAA8C;IAC9C,uDAAuD;IACvD,uBAAA,IAAI,4CAA2B,uBAAA,IAAI,qEAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAC;IAC/D,uBAAA,IAAI,gDAA+B,uBAAA,IAAI,yEAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAA,CAAC;IAEvE,mBAAmB;IACnB,iDAAiD;IACjD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,uBAAA,IAAI,gDAAwB,CAAC,CAAC;IACjE,iDAAiD;IACjD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,uBAAA,IAAI,oDAA4B,CAAC,CAAC;AACvE,CAAC"}
@@ -3,11 +3,13 @@ import type { MetaMaskConnectMultichain } from 'src/multichain';
3
3
  export declare class MultichainApiClientWrapperTransport implements Transport {
4
4
  #private;
5
5
  private readonly metamaskConnectMultichain;
6
+ notificationListener: (() => void) | undefined;
6
7
  constructor(metamaskConnectMultichain: MetaMaskConnectMultichain);
7
8
  isTransportDefined(): boolean;
8
9
  clearNotificationCallbacks(): void;
9
10
  notifyCallbacks(data: unknown): void;
10
- setupNotifcationListener(): void;
11
+ clearTransportNotificationListener(): void;
12
+ setupTransportNotificationListener(): void;
11
13
  connect(): Promise<void>;
12
14
  disconnect(): Promise<void>;
13
15
  isConnected(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAchE,qBAAa,mCAAoC,YAAW,SAAS;;IAMjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB;gBAAzB,yBAAyB,EAAE,yBAAyB;IAGvE,kBAAkB,IAAI,OAAO;IAQ7B,0BAA0B,IAAI,IAAI;IAIlC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMpC,wBAAwB,IAAI,IAAI;IAM1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,WAAW,IAAI,OAAO;IAIhB,OAAO,CACX,UAAU,SAAS,gBAAgB,EACnC,UAAU,SAAS,iBAAiB,EAEpC,MAAM,EAAE,UAAU,EAClB,QAAQ,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAClC,OAAO,CAAC,UAAU,CAAC;IAwBtB,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;CAqF9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AAIzC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAMhE,qBAAa,mCAAoC,YAAW,SAAS;;IAMjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAH5C,oBAAoB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;gBAG5B,yBAAyB,EAAE,yBAAyB;IAGvE,kBAAkB,IAAI,OAAO;IAQ7B,0BAA0B,IAAI,IAAI;IAIlC,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAMpC,kCAAkC,IAAI,IAAI;IAK1C,kCAAkC,IAAI,IAAI;IAUpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,WAAW,IAAI,OAAO;IAIhB,OAAO,CACX,UAAU,SAAS,gBAAgB,EACnC,UAAU,SAAS,iBAAiB,EAEpC,MAAM,EAAE,UAAU,EAClB,QAAQ,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAClC,OAAO,CAAC,UAAU,CAAC;IAwBtB,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;CAuF9D"}
@@ -1,3 +1,6 @@
1
+ /* eslint-disable no-restricted-syntax -- Private class properties use established patterns */
2
+ /* eslint-disable @typescript-eslint/explicit-function-return-type -- Inferred types are sufficient */
3
+ /* eslint-disable @typescript-eslint/parameter-properties -- Constructor shorthand is intentional */
1
4
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
5
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
6
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -12,27 +15,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
15
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
16
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
17
  };
15
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
16
- if (kind === "m") throw new TypeError("Private method is not writable");
17
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
18
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
19
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
20
- };
21
- var _MultichainApiClientWrapperTransport_instances, _MultichainApiClientWrapperTransport_requestId, _MultichainApiClientWrapperTransport_notificationCallbacks, _MultichainApiClientWrapperTransport_walletCreateSession, _MultichainApiClientWrapperTransport_walletGetSession, _MultichainApiClientWrapperTransport_walletRevokeSession, _MultichainApiClientWrapperTransport_walletInvokeMethod;
18
+ var _MultichainApiClientWrapperTransport_instances, _MultichainApiClientWrapperTransport_notificationCallbacks, _MultichainApiClientWrapperTransport_walletCreateSession, _MultichainApiClientWrapperTransport_walletGetSession, _MultichainApiClientWrapperTransport_walletRevokeSession, _MultichainApiClientWrapperTransport_walletInvokeMethod;
22
19
  import { providerErrors } from '@metamask/rpc-errors';
23
- // uint32 (two's complement) max
24
- // more conservative than Number.MAX_SAFE_INTEGER
25
- const MAX = 4294967295;
26
- let idCounter = Math.floor(Math.random() * MAX);
27
- const getUniqueId = () => {
28
- idCounter = (idCounter + 1) % MAX;
29
- return idCounter;
30
- };
20
+ import { getUniqueRequestId } from '../../utils';
31
21
  export class MultichainApiClientWrapperTransport {
32
22
  constructor(metamaskConnectMultichain) {
33
23
  _MultichainApiClientWrapperTransport_instances.add(this);
34
24
  this.metamaskConnectMultichain = metamaskConnectMultichain;
35
- _MultichainApiClientWrapperTransport_requestId.set(this, getUniqueId());
36
25
  _MultichainApiClientWrapperTransport_notificationCallbacks.set(this, new Set());
37
26
  }
38
27
  isTransportDefined() {
@@ -51,14 +40,22 @@ export class MultichainApiClientWrapperTransport {
51
40
  callback(data);
52
41
  });
53
42
  }
54
- setupNotifcationListener() {
55
- this.metamaskConnectMultichain.transport.onNotification(this.notifyCallbacks.bind(this));
43
+ clearTransportNotificationListener() {
44
+ var _a;
45
+ (_a = this.notificationListener) === null || _a === void 0 ? void 0 : _a.call(this);
46
+ this.notificationListener = undefined;
47
+ }
48
+ setupTransportNotificationListener() {
49
+ if (!this.isTransportDefined() || this.notificationListener) {
50
+ return;
51
+ }
52
+ this.notificationListener =
53
+ this.metamaskConnectMultichain.transport.onNotification(this.notifyCallbacks.bind(this));
56
54
  }
57
55
  connect() {
58
56
  return __awaiter(this, void 0, void 0, function* () {
59
57
  console.log('📚 connect');
60
- // noop
61
- return Promise.resolve();
58
+ yield this.metamaskConnectMultichain.emitSessionChanged();
62
59
  });
63
60
  }
64
61
  disconnect() {
@@ -71,8 +68,7 @@ export class MultichainApiClientWrapperTransport {
71
68
  }
72
69
  request(params_1) {
73
70
  return __awaiter(this, arguments, void 0, function* (params, _options = {}) {
74
- var _a, _b;
75
- const id = (__classPrivateFieldSet(this, _MultichainApiClientWrapperTransport_requestId, (_b = __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_requestId, "f"), _a = _b++, _b), "f"), _a);
71
+ const id = getUniqueRequestId();
76
72
  const requestPayload = Object.assign({ id, jsonrpc: '2.0' }, params);
77
73
  switch (requestPayload.method) {
78
74
  case 'wallet_createSession':
@@ -90,16 +86,14 @@ export class MultichainApiClientWrapperTransport {
90
86
  });
91
87
  }
92
88
  onNotification(callback) {
93
- if (!this.isTransportDefined()) {
94
- __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").add(callback);
95
- return () => {
96
- __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").delete(callback);
97
- };
98
- }
99
- return this.metamaskConnectMultichain.transport.onNotification(callback);
89
+ this.setupTransportNotificationListener();
90
+ __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").add(callback);
91
+ return () => {
92
+ __classPrivateFieldGet(this, _MultichainApiClientWrapperTransport_notificationCallbacks, "f").delete(callback);
93
+ };
100
94
  }
101
95
  }
102
- _MultichainApiClientWrapperTransport_requestId = new WeakMap(), _MultichainApiClientWrapperTransport_notificationCallbacks = new WeakMap(), _MultichainApiClientWrapperTransport_instances = new WeakSet(), _MultichainApiClientWrapperTransport_walletCreateSession = function _MultichainApiClientWrapperTransport_walletCreateSession(request) {
96
+ _MultichainApiClientWrapperTransport_notificationCallbacks = new WeakMap(), _MultichainApiClientWrapperTransport_instances = new WeakSet(), _MultichainApiClientWrapperTransport_walletCreateSession = function _MultichainApiClientWrapperTransport_walletCreateSession(request) {
103
97
  return __awaiter(this, void 0, void 0, function* () {
104
98
  console.log('📚 #walletCreateSession', request);
105
99
  const createSessionParams = request.params;
@@ -141,11 +135,14 @@ _MultichainApiClientWrapperTransport_requestId = new WeakMap(), _MultichainApiCl
141
135
  });
142
136
  }, _MultichainApiClientWrapperTransport_walletRevokeSession = function _MultichainApiClientWrapperTransport_walletRevokeSession(request) {
143
137
  return __awaiter(this, void 0, void 0, function* () {
138
+ var _a;
144
139
  if (!this.isTransportDefined()) {
145
140
  return { jsonrpc: '2.0', id: request.id, result: true };
146
141
  }
142
+ const revokeSessionParams = request.params;
143
+ const scopes = (_a = revokeSessionParams === null || revokeSessionParams === void 0 ? void 0 : revokeSessionParams.scopes) !== null && _a !== void 0 ? _a : [];
147
144
  try {
148
- this.metamaskConnectMultichain.disconnect();
145
+ yield this.metamaskConnectMultichain.disconnect(scopes);
149
146
  return { jsonrpc: '2.0', id: request.id, result: true };
150
147
  }
151
148
  catch (_error) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/multichain/transports/multichainApiClientWrapper/index.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,6 @@ export declare class MWPTransport implements ExtendedTransport {
21
21
  private dappClient;
22
22
  private kvstore;
23
23
  private options;
24
- private __reqId;
25
24
  private __pendingRequests;
26
25
  private notificationCallbacks;
27
26
  private currentSessionRequest;
@@ -34,9 +33,22 @@ export declare class MWPTransport implements ExtendedTransport {
34
33
  connectionTimeout: number;
35
34
  resumeTimeout: number;
36
35
  });
36
+ /**
37
+ * Returns the stored pending session request from the dappClient session_request event, if any.
38
+ *
39
+ * @returns The stored SessionRequest, or null if none or invalid.
40
+ */
41
+ getStoredPendingSessionRequest(): Promise<SessionRequest | null>;
42
+ /**
43
+ * Removes the stored pending session request from the KVStore.
44
+ * This is necessary to ensure that ConnectMultichain is able to correctly
45
+ * infer the MWP Transport connection attempt status.
46
+ */
47
+ private removeStoredPendingSessionRequest;
37
48
  private onWindowFocus;
38
49
  private notifyCallbacks;
39
50
  private rejectRequest;
51
+ private parseWalletError;
40
52
  private handleMessage;
41
53
  private onResumeSuccess;
42
54
  sendEip1193Message<TRequest extends TransportRequest, TResponse extends TransportResponse>(payload: TRequest, options?: {
@@ -50,9 +62,10 @@ export declare class MWPTransport implements ExtendedTransport {
50
62
  /**
51
63
  * Disconnects from the Mobile Wallet Protocol
52
64
  *
65
+ * @param [scopes] - The scopes to revoke. If not provided or empty, all scopes will be revoked.
53
66
  * @returns Nothing
54
67
  */
55
- disconnect(): Promise<void>;
68
+ disconnect(scopes?: Scope[]): Promise<void>;
56
69
  /**
57
70
  * Checks if the transport is connected
58
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAEL,KAAK,iBAAiB,EAEtB,KAAK,KAAK,EAEV,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AA4BzB,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;CACzB,CAAC;AAIF;;;GAGG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IAwBlD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAzBjB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,iBAAiB,CAAsC;IAE/D,OAAO,CAAC,qBAAqB,CAAsC;IAEnE,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,OAAO,CAAC,kBAAkB,CAA2B;IAErD,IAAI,eAAe,IAIkB,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAFhE;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAEhE;IAED,IAAI,cAAc,+BAEjB;gBAGS,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE;QACf,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;KAKvB;IAYH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;YAoFP,eAAe;IA0EvB,kBAAkB,CACtB,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAsClE,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,cAAc,EAAE,aAAa,EAAE,CAAC;QAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0HjB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAKtB;;;;OAIG;YAGW,oBAAoB;YA0BpB,iBAAiB;YAqCjB,kBAAkB;IAuB1B,OAAO,CACX,QAAQ,SAAS,gBAAgB,EACjC,SAAS,SAAS,iBAAiB,EACnC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAOvD,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;YAsBxC,+BAA+B;CAiC9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/multichain/transports/mwp/index.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { SessionStore } from '@metamask/mobile-wallet-protocol-core';
11
11
  import { TransportTimeoutError, } from '@metamask/multichain-api-client';
12
+ import { providerErrors, rpcErrors } from '@metamask/rpc-errors';
12
13
  import { createLogger, } from '../../../domain';
13
- import { addValidAccounts, getOptionalScopes, getValidAccounts, isSameScopesAndAccounts, } from '../../utils';
14
+ import { addValidAccounts, getOptionalScopes, getUniqueRequestId, getValidAccounts, isSameScopesAndAccounts, } from '../../utils';
14
15
  import { MULTICHAIN_PROVIDER_STREAM_NAME } from '../constants';
15
16
  const DEFAULT_REQUEST_TIMEOUT = 60 * 1000;
16
17
  const CONNECTION_GRACE_PERIOD = 60 * 1000;
@@ -19,6 +20,7 @@ const DEFAULT_RESUME_TIMEOUT = 10 * 1000;
19
20
  const SESSION_STORE_KEY = 'cache_wallet_getSession';
20
21
  const ACCOUNTS_STORE_KEY = 'cache_eth_accounts';
21
22
  const CHAIN_STORE_KEY = 'cache_eth_chainId';
23
+ const PENDING_SESSION_REQUEST_KEY = 'pending_session_request';
22
24
  const CACHED_METHOD_LIST = [
23
25
  'wallet_getSession',
24
26
  'wallet_createSession',
@@ -51,16 +53,58 @@ export class MWPTransport {
51
53
  this.dappClient = dappClient;
52
54
  this.kvstore = kvstore;
53
55
  this.options = options;
54
- this.__reqId = 0;
55
56
  this.__pendingRequests = new Map();
56
57
  this.notificationCallbacks = new Set();
57
58
  this.dappClient.on('message', this.handleMessage.bind(this));
59
+ // We store the pending session request in the KVStore so that we can:
60
+ // 1. Use it to regenerate the deeplink to re-prompt the user with if they
61
+ // attempt to connect while there is a pending connection attempt.
62
+ // 2. Determine if there was a pending connection attempt when MultichainConnect
63
+ // is initializing itself for the first time on page load and correctly set
64
+ // the appropriate timeout duration for that connection attempt.
65
+ this.dappClient.on('session_request', (sessionRequest) => {
66
+ this.currentSessionRequest = sessionRequest;
67
+ this.kvstore
68
+ .set(PENDING_SESSION_REQUEST_KEY, JSON.stringify(sessionRequest))
69
+ .catch((err) => {
70
+ logger('Failed to store pending session request', err);
71
+ });
72
+ });
58
73
  if (typeof window !== 'undefined' &&
59
74
  typeof window.addEventListener !== 'undefined') {
60
75
  this.windowFocusHandler = this.onWindowFocus.bind(this);
61
76
  window.addEventListener('focus', this.windowFocusHandler);
62
77
  }
63
78
  }
79
+ /**
80
+ * Returns the stored pending session request from the dappClient session_request event, if any.
81
+ *
82
+ * @returns The stored SessionRequest, or null if none or invalid.
83
+ */
84
+ getStoredPendingSessionRequest() {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ try {
87
+ const raw = yield this.kvstore.get(PENDING_SESSION_REQUEST_KEY);
88
+ if (!raw) {
89
+ return null;
90
+ }
91
+ return JSON.parse(raw);
92
+ }
93
+ catch (_a) {
94
+ return null;
95
+ }
96
+ });
97
+ }
98
+ /**
99
+ * Removes the stored pending session request from the KVStore.
100
+ * This is necessary to ensure that ConnectMultichain is able to correctly
101
+ * infer the MWP Transport connection attempt status.
102
+ */
103
+ removeStoredPendingSessionRequest() {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ yield this.kvstore.delete(PENDING_SESSION_REQUEST_KEY);
106
+ });
107
+ }
64
108
  onWindowFocus() {
65
109
  if (!this.isConnected()) {
66
110
  this.dappClient.reconnect();
@@ -77,6 +121,20 @@ export class MWPTransport {
77
121
  request.reject(error);
78
122
  }
79
123
  }
124
+ parseWalletError(errorPayload) {
125
+ const errorData = errorPayload;
126
+ if (typeof errorData.code === 'number' &&
127
+ typeof errorData.message === 'string') {
128
+ return providerErrors.custom({
129
+ code: errorData.code,
130
+ message: errorData.message,
131
+ });
132
+ }
133
+ const message = errorPayload instanceof Error
134
+ ? errorPayload.message
135
+ : JSON.stringify(errorPayload);
136
+ return rpcErrors.internal({ message });
137
+ }
80
138
  handleMessage(message) {
81
139
  if (typeof message === 'object' && message !== null) {
82
140
  if ('data' in message) {
@@ -84,6 +142,14 @@ export class MWPTransport {
84
142
  if ('id' in messagePayload && typeof messagePayload.id === 'string') {
85
143
  const request = this.pendingRequests.get(messagePayload.id);
86
144
  if (request) {
145
+ clearTimeout(request.timeout);
146
+ // Check if the message contains an error (e.g., user rejected)
147
+ if ('error' in messagePayload && messagePayload.error) {
148
+ this.pendingRequests.delete(messagePayload.id);
149
+ request.reject(this.parseWalletError(messagePayload.error));
150
+ return;
151
+ }
152
+ // Success case - resolve the promise
87
153
  const requestWithName = Object.assign(Object.assign({}, messagePayload), { method: request.method === 'wallet_getSession' ||
88
154
  request.method === 'wallet_createSession'
89
155
  ? 'wallet_sessionChanged'
@@ -92,8 +158,6 @@ export class MWPTransport {
92
158
  request.method === 'wallet_createSession'
93
159
  ? 'wallet_sessionChanged'
94
160
  : request.method, params: requestWithName.result });
95
- clearTimeout(request.timeout);
96
- // Might need to handle the evm case?
97
161
  this.notifyCallbacks(notification);
98
162
  request.resolve(requestWithName);
99
163
  this.pendingRequests.delete(messagePayload.id);
@@ -172,6 +236,7 @@ export class MWPTransport {
172
236
  }
173
237
  walletSession = response.result;
174
238
  }
239
+ yield this.removeStoredPendingSessionRequest();
175
240
  this.notifyCallbacks({
176
241
  method: 'wallet_sessionChanged',
177
242
  params: walletSession,
@@ -186,7 +251,7 @@ export class MWPTransport {
186
251
  // TODO: Rename this
187
252
  sendEip1193Message(payload, options) {
188
253
  return __awaiter(this, void 0, void 0, function* () {
189
- const request = Object.assign({ jsonrpc: '2.0', id: `${this.__reqId++}` }, payload);
254
+ const request = Object.assign({ jsonrpc: '2.0', id: String(getUniqueRequestId()) }, payload);
190
255
  const cachedWalletSession = yield this.getCachedResponse(request);
191
256
  if (cachedWalletSession) {
192
257
  this.notifyCallbacks(cachedWalletSession);
@@ -223,6 +288,7 @@ export class MWPTransport {
223
288
  if (session) {
224
289
  logger('active session found', session);
225
290
  }
291
+ const storedSessionRequestBeforeConnectionAttempt = yield this.getStoredPendingSessionRequest();
226
292
  let timeout;
227
293
  let initialConnectionMessageHandler;
228
294
  const connectionPromise = new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
@@ -251,29 +317,36 @@ export class MWPTransport {
251
317
  };
252
318
  const request = {
253
319
  jsonrpc: '2.0',
254
- id: `${this.__reqId++}`,
320
+ id: String(getUniqueRequestId()),
255
321
  method: 'wallet_createSession',
256
322
  params: sessionRequest,
257
323
  };
258
- // just used for initial connection
324
+ // Handler for initial connection messages - checks for error responses
325
+ // and properly rejects the connection promise with EIP-1193 error codes
259
326
  initialConnectionMessageHandler = (message) => __awaiter(this, void 0, void 0, function* () {
260
- if (typeof message === 'object' && message !== null) {
261
- if ('data' in message) {
262
- const messagePayload = message.data;
263
- if (messagePayload.method === 'wallet_createSession' ||
264
- messagePayload.method === 'wallet_sessionChanged') {
265
- if (messagePayload.error) {
266
- if (initialConnectionMessageHandler) {
267
- this.dappClient.off('message', initialConnectionMessageHandler);
268
- }
269
- return rejectConnection(messagePayload.error);
270
- }
271
- yield this.storeWalletSession(request, messagePayload);
272
- this.notifyCallbacks(messagePayload);
273
- return resolveConnection();
274
- }
275
- }
327
+ if (typeof message !== 'object' || message === null) {
328
+ return;
329
+ }
330
+ if (!('data' in message)) {
331
+ return;
332
+ }
333
+ const messagePayload = message.data;
334
+ // Match by ID (preferred) or by method (backward compatibility for notifications without ID)
335
+ const isMatchingId = messagePayload.id === request.id;
336
+ const isMatchingMethod = messagePayload.method === 'wallet_createSession' ||
337
+ messagePayload.method === 'wallet_sessionChanged';
338
+ if (!isMatchingId && !isMatchingMethod) {
339
+ return;
276
340
  }
341
+ // Handle error response (e.g., user rejected the connection)
342
+ if (messagePayload.error) {
343
+ return rejectConnection(this.parseWalletError(messagePayload.error));
344
+ }
345
+ // Success case - store session, notify, and resolve
346
+ yield this.storeWalletSession(request, messagePayload);
347
+ yield this.removeStoredPendingSessionRequest();
348
+ this.notifyCallbacks(messagePayload);
349
+ return resolveConnection();
277
350
  });
278
351
  this.dappClient.on('message', initialConnectionMessageHandler);
279
352
  dappClient
@@ -294,13 +367,18 @@ export class MWPTransport {
294
367
  }
295
368
  timeout = setTimeout(() => {
296
369
  reject(new TransportTimeoutError());
297
- }, this.options.connectionTimeout);
370
+ }, storedSessionRequestBeforeConnectionAttempt
371
+ ? this.options.resumeTimeout
372
+ : this.options.connectionTimeout);
298
373
  connection.then(resolve).catch(reject);
299
374
  }));
300
375
  return connectionPromise
301
- .catch((error) => {
376
+ .catch((error) => __awaiter(this, void 0, void 0, function* () {
377
+ // Clean up the MWP session from the KVStore so stale sessions
378
+ // don't cause subsequent connect attempts to enter the resume path
379
+ yield this.dappClient.disconnect();
302
380
  throw error;
303
- })
381
+ }))
304
382
  .finally(() => {
305
383
  if (timeout) {
306
384
  clearTimeout(timeout);
@@ -309,27 +387,65 @@ export class MWPTransport {
309
387
  this.dappClient.off('message', initialConnectionMessageHandler);
310
388
  initialConnectionMessageHandler = undefined;
311
389
  }
390
+ this.removeStoredPendingSessionRequest();
312
391
  });
313
392
  });
314
393
  }
315
394
  /**
316
395
  * Disconnects from the Mobile Wallet Protocol
317
396
  *
397
+ * @param [scopes] - The scopes to revoke. If not provided or empty, all scopes will be revoked.
318
398
  * @returns Nothing
319
399
  */
320
400
  disconnect() {
321
- return __awaiter(this, void 0, void 0, function* () {
322
- // Clean up window focus event listener
323
- if (typeof window !== 'undefined' &&
324
- typeof window.removeEventListener !== 'undefined' &&
325
- this.windowFocusHandler) {
326
- window.removeEventListener('focus', this.windowFocusHandler);
327
- this.windowFocusHandler = undefined;
401
+ return __awaiter(this, arguments, void 0, function* (scopes = []) {
402
+ var _a, _b;
403
+ const cachedSession = yield this.getCachedResponse({
404
+ jsonrpc: '2.0',
405
+ id: '0',
406
+ method: 'wallet_getSession',
407
+ });
408
+ const cachedSessionScopes = (_b = (_a = cachedSession === null || cachedSession === void 0 ? void 0 : cachedSession.result) === null || _a === void 0 ? void 0 : _a.sessionScopes) !== null && _b !== void 0 ? _b : {};
409
+ const remainingScopes = scopes.length === 0
410
+ ? []
411
+ : Object.keys(cachedSessionScopes).filter((scope) => !scopes.includes(scope));
412
+ const newSessionScopes = Object.fromEntries(Object.entries(cachedSessionScopes).filter(([key]) => remainingScopes.includes(key)));
413
+ // NOTE: Purposely not awaiting this to avoid blocking the disconnect flow.
414
+ // This might not actually get executed on the wallet if the user doesn't open
415
+ // their wallet before the message TTL or if the underlying transport isn't actually connected
416
+ this.request({ method: 'wallet_revokeSession', params: { scopes } }).catch((err) => {
417
+ console.error('error revoking session', err);
418
+ });
419
+ // Clear the cached values for eth_accounts and eth_chainId if all eip155 scopes were removed.
420
+ const remainingScopesIncludeEip155 = remainingScopes.some((scope) => scope.includes('eip155'));
421
+ if (!remainingScopesIncludeEip155) {
422
+ this.kvstore.delete(ACCOUNTS_STORE_KEY);
423
+ this.kvstore.delete(CHAIN_STORE_KEY);
328
424
  }
329
- this.kvstore.delete(SESSION_STORE_KEY);
330
- this.kvstore.delete(ACCOUNTS_STORE_KEY);
331
- this.kvstore.delete(CHAIN_STORE_KEY);
332
- return this.dappClient.disconnect();
425
+ if (remainingScopes.length > 0) {
426
+ this.kvstore.set(SESSION_STORE_KEY, JSON.stringify({
427
+ result: {
428
+ sessionScopes: newSessionScopes,
429
+ },
430
+ }));
431
+ }
432
+ else {
433
+ this.kvstore.delete(SESSION_STORE_KEY);
434
+ // Clean up window focus event listener
435
+ if (typeof window !== 'undefined' &&
436
+ typeof window.removeEventListener !== 'undefined' &&
437
+ this.windowFocusHandler) {
438
+ window.removeEventListener('focus', this.windowFocusHandler);
439
+ this.windowFocusHandler = undefined;
440
+ }
441
+ yield this.dappClient.disconnect();
442
+ }
443
+ this.notifyCallbacks({
444
+ method: 'wallet_sessionChanged',
445
+ params: {
446
+ sessionScopes: newSessionScopes,
447
+ },
448
+ });
333
449
  });
334
450
  }
335
451
  /**
@@ -436,7 +552,7 @@ export class MWPTransport {
436
552
  }
437
553
  request(payload, options) {
438
554
  return __awaiter(this, void 0, void 0, function* () {
439
- const request = Object.assign({ jsonrpc: '2.0', id: `${this.__reqId++}` }, payload);
555
+ const request = Object.assign({ jsonrpc: '2.0', id: String(getUniqueRequestId()) }, payload);
440
556
  const cachedWalletSession = yield this.getCachedResponse(request);
441
557
  if (cachedWalletSession) {
442
558
  this.notifyCallbacks(cachedWalletSession);
@@ -522,6 +638,7 @@ export class MWPTransport {
522
638
  const timeoutPromise = new Promise((_resolve, reject) => {
523
639
  setTimeout(() => {
524
640
  unsubscribe();
641
+ this.removeStoredPendingSessionRequest();
525
642
  reject(new TransportTimeoutError());
526
643
  }, this.options.resumeTimeout);
527
644
  });