@manahippo/aptos-wallet-adapter 0.4.2 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. package/README.md +8 -2
  2. package/dist/WalletAdapters/AptosSnap.d.ts +42 -0
  3. package/dist/WalletAdapters/AptosSnap.d.ts.map +1 -0
  4. package/dist/WalletAdapters/AptosSnap.js +185 -0
  5. package/dist/WalletAdapters/AptosSnap.js.map +1 -0
  6. package/dist/WalletAdapters/FletchWallet.d.ts +57 -0
  7. package/dist/WalletAdapters/FletchWallet.d.ts.map +1 -0
  8. package/dist/WalletAdapters/FletchWallet.js +178 -0
  9. package/dist/WalletAdapters/FletchWallet.js.map +1 -0
  10. package/dist/WalletAdapters/HyperPayWallet.d.ts +56 -0
  11. package/dist/WalletAdapters/HyperPayWallet.d.ts.map +1 -0
  12. package/dist/WalletAdapters/HyperPayWallet.js +180 -0
  13. package/dist/WalletAdapters/HyperPayWallet.js.map +1 -0
  14. package/dist/WalletAdapters/PetraWallet.d.ts.map +1 -1
  15. package/dist/WalletAdapters/PetraWallet.js +1 -1
  16. package/dist/WalletAdapters/PetraWallet.js.map +1 -1
  17. package/dist/WalletAdapters/PontemWallet.d.ts +4 -6
  18. package/dist/WalletAdapters/PontemWallet.d.ts.map +1 -1
  19. package/dist/WalletAdapters/PontemWallet.js +4 -5
  20. package/dist/WalletAdapters/PontemWallet.js.map +1 -1
  21. package/dist/WalletAdapters/RiseWallet.d.ts +51 -0
  22. package/dist/WalletAdapters/RiseWallet.d.ts.map +1 -0
  23. package/dist/WalletAdapters/RiseWallet.js +189 -0
  24. package/dist/WalletAdapters/RiseWallet.js.map +1 -0
  25. package/dist/WalletAdapters/index.d.ts +4 -0
  26. package/dist/WalletAdapters/index.d.ts.map +1 -1
  27. package/dist/WalletAdapters/index.js +4 -0
  28. package/dist/WalletAdapters/index.js.map +1 -1
  29. package/dist/WalletProviders/WalletProvider.d.ts.map +1 -1
  30. package/dist/WalletProviders/WalletProvider.js +12 -5
  31. package/dist/WalletProviders/WalletProvider.js.map +1 -1
  32. package/package.json +3 -2
  33. package/src/WalletAdapters/AptosSnap.ts +235 -0
  34. package/src/WalletAdapters/FletchWallet.ts +223 -0
  35. package/src/WalletAdapters/HyperPayWallet.ts +237 -0
  36. package/src/WalletAdapters/PetraWallet.ts +2 -1
  37. package/src/WalletAdapters/PontemWallet.ts +8 -9
  38. package/src/WalletAdapters/RiseWallet.ts +238 -0
  39. package/src/WalletAdapters/index.ts +4 -0
  40. package/src/WalletProviders/WalletProvider.tsx +14 -7
@@ -71,6 +71,7 @@ const WalletProvider = ({ children, wallets: adapters, autoConnect = false, onEr
71
71
  (0, react_1.useEffect)(() => {
72
72
  const selectedWallet = wallets.find((wAdapter) => wAdapter.adapter.name === name);
73
73
  if (selectedWallet) {
74
+ console.log('selectedWallets', selectedWallet);
74
75
  setState({
75
76
  wallet: selectedWallet,
76
77
  adapter: selectedWallet.adapter,
@@ -135,12 +136,18 @@ const WalletProvider = ({ children, wallets: adapters, autoConnect = false, onEr
135
136
  }, [adapter]);
136
137
  // If autoConnect is enabled, try to connect when the adapter changes and is ready
137
138
  (0, react_1.useEffect)(() => {
138
- if (isConnecting.current ||
139
- connected ||
140
- !autoConnect ||
141
- !adapter ||
142
- !(readyState === BaseAdapter_1.WalletReadyState.Installed || readyState === BaseAdapter_1.WalletReadyState.Loadable))
139
+ if (isConnecting.current || connected || !autoConnect || !adapter)
143
140
  return;
141
+ // Handle wallet not installed in Auto-connect mode
142
+ if (!(readyState === BaseAdapter_1.WalletReadyState.Installed || readyState === BaseAdapter_1.WalletReadyState.Loadable)) {
143
+ // Clear the selected wallet
144
+ setName(null);
145
+ if (typeof window !== 'undefined') {
146
+ window.open(adapter.url, '_blank');
147
+ }
148
+ handleError(new errors_1.WalletNotReadyError());
149
+ return;
150
+ }
144
151
  (function () {
145
152
  return __awaiter(this, void 0, void 0, function* () {
146
153
  isConnecting.current = true;
@@ -1 +1 @@
1
- {"version":3,"file":"WalletProvider.js","sourceRoot":"","sources":["../../src/WalletProviders/WalletProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletProvider.js","sourceRoot":"","sources":["../../src/WalletProviders/WalletProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iCAAgF;AAEhF,qCAKkB;AAClB,8DAA2D;AAC3D,+DAMuC;AACvC,2CAAoD;AAUpD,MAAM,YAAY,GAKd;IACF,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,KAAK;CACjB,CAAC;AAEK,MAAM,cAAc,GAA4B,CAAC,EACtD,QAAQ,EACR,OAAO,EAAE,QAAQ,EACjB,WAAW,GAAG,KAAK,EACnB,OAAO,EACP,eAAe,GAAG,YAAY,EAC/B,EAAE,EAAE;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,iCAAe,EAAoB,eAAe,EAAE,IAAI,CAAC,CAAC;IAClF,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,YAAY,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,KAAI,8BAAgB,CAAC,WAAW,CAAC;IACvE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IACnC,MAAM,eAAe,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAElC,qDAAqD;IACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC,CACJ,CAAC;IAEF,6EAA6E;IAC7E,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,2EAA2E;QAC3E,UAAU,CAAC,CAAC,cAAc,EAAE,EAAE,CAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5C,yDAAyD;YACzD,OAAO,aAAa;gBAClB,aAAa,CAAC,OAAO,KAAK,QAAQ;gBAClC,aAAa,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU;gBAChD,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC;oBACE,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC;QACR,CAAC,CAAC,CACH,CAAC;QAEF,SAAS,sBAAsB,CAAY,WAA6B;YACtE,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE;gBACzB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;gBAClF,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,WAAW,CAAC;gBAErC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,KAAK,CAAE,CAAC;gBAClD,OAAO;oBACL,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;oBAC9B,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE;oBAC9C,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;iBAChC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC5B,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CAClE,CAAC;QACF,OAAO,GAAG,EAAE,CACV,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC5B,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,CACnE,CAAC;IACN,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,yDAAyD;IACzD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClF,IAAI,cAAc,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YAC/C,QAAQ,CAAC;gBACP,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;gBAC3C,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,aAAa;aAC9C,CAAC,CAAC;SACJ;aAAM;YACL,QAAQ,CAAC,YAAY,CAAC,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpB,6FAA6F;IAC7F,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,SAAS,QAAQ;YACf,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;YACD,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IAE/B,qCAAqC;IACrC,MAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACrC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,uCACK,KAAK,KACR,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,OAAO,EAAE,OAAO,CAAC,aAAa,IAC9B;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,2DAA2D;QAC3D,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE3B,qDAAqD;IACrD,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAC,KAAkB,EAAE,EAAE;QACrB,8CAA8C;QAC9C,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC,EACD,CAAC,WAAW,EAAE,OAAO,CAAC,CACvB,CAAC;IAEF,8DAA8D;IAC9D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACrC,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAC3C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACpC,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IAE5D,mDAAmD;IACnD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,kFAAkF;IAClF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,OAAO,IAAI,SAAS,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1E,mDAAmD;QACnD,IAAI,CAAC,CAAC,UAAU,KAAK,8BAAgB,CAAC,SAAS,IAAI,UAAU,KAAK,8BAAgB,CAAC,QAAQ,CAAC,EAAE;YAC5F,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;YAEd,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACpC;YAED,WAAW,CAAC,IAAI,4BAAmB,EAAE,CAAC,CAAC;YACvC,OAAO;SACR;QAED,CAAC;;gBACC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI;oBACF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;iBACzB;gBAAC,OAAO,KAAU,EAAE;oBACnB,4BAA4B;oBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,0DAA0D;iBAC3D;wBAAS;oBACR,aAAa,CAAC,KAAK,CAAC,CAAC;oBACrB,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;iBAC9B;YACH,CAAC;SAAA,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzE,oCAAoC;IACpC,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAS,EAAE;QACrC,IAAI,YAAY,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,IAAI,SAAS;YAAE,OAAO;QAEzE,IAAI,CAAC,OAAO;YAAE,MAAM,WAAW,CAAC,IAAI,+BAAsB,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,CAAC,UAAU,KAAK,8BAAgB,CAAC,SAAS,IAAI,UAAU,KAAK,8BAAgB,CAAC,QAAQ,CAAC,EAAE;YAC5F,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;YAEd,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACpC;YAED,MAAM,WAAW,CAAC,IAAI,4BAAmB,EAAE,CAAC,CAAC;SAC9C;QACD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI;YACF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;SACzB;QAAC,OAAO,KAAU,EAAE;YACnB,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,yDAAyD;YACzD,MAAM,KAAK,CAAC;SACb;gBAAS;YACR,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;SAC9B;IACH,CAAC,CAAA,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1F,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,GAAS,EAAE;QACxC,IAAI,eAAe,CAAC,OAAO;YAAE,OAAO;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI;YACF,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;SAC5B;QAAC,OAAO,KAAU,EAAE;YACnB,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,yDAAyD;YACzD,MAAM,KAAK,CAAC;SACb;gBAAS;YACR,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;SACjC;IACH,CAAC,CAAA,EAAE,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAExC,mDAAmD;IACnD,MAAM,wBAAwB,GAAG,IAAA,mBAAW,EAC1C,CAAO,WAA+B,EAAE,MAAY,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO;YAAE,MAAM,WAAW,CAAC,IAAI,+BAAsB,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,MAAM,WAAW,CAAC,IAAI,gCAAuB,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAA,EACD,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAClC,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,mBAAW,EACjC,CAAO,WAA+B,EAAE,MAAY,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO;YAAE,MAAM,WAAW,CAAC,IAAI,+BAAsB,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,MAAM,WAAW,CAAC,IAAI,gCAAuB,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAA,EACD,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAClC,CAAC;IAEF,MAAM,WAAW,GAAG,IAAA,mBAAW,EAC7B,CAAO,UAAoD,EAAE,EAAE;QAC7D,IAAI,CAAC,OAAO;YAAE,MAAM,WAAW,CAAC,IAAI,+BAAsB,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,MAAM,WAAW,CAAC,IAAI,gCAAuB,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,CAAA,EACD,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAClC,CAAC;IAEF,OAAO,CACL,uBAAC,yBAAa,CAAC,QAAQ,kBACrB,KAAK,EAAE;YACL,OAAO;YACP,MAAM;YACN,OAAO;YACP,SAAS;YACT,UAAU;YACV,aAAa;YACb,WAAW;YACX,MAAM,EAAE,OAAO;YACf,OAAO;YACP,UAAU;YACV,wBAAwB;YACxB,eAAe;YACf,WAAW;SACZ,gBACA,QAAQ,IACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AApRW,QAAA,cAAc,kBAoRzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manahippo/aptos-wallet-adapter",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
6
6
  "files": [
@@ -25,10 +25,11 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@fewcha/web3": "^0.1.28",
28
+ "@keystonehq/aptossnap-adapter": "^0.2.7",
28
29
  "@types/jest": "^27.0.1",
29
30
  "@types/node": "^18.7.6",
30
31
  "@types/react": "^18.0.17",
31
- "aptos": "1.3.14",
32
+ "aptos": "^1.3.14",
32
33
  "eventemitter3": "^4.0.7"
33
34
  }
34
35
  }
@@ -0,0 +1,235 @@
1
+ import {
2
+ TransactionPayload,
3
+ HexEncodedBytes,
4
+ EntryFunctionPayload,
5
+ PendingTransaction
6
+ } from 'aptos/src/generated';
7
+ import {
8
+ WalletDisconnectionError,
9
+ WalletNotConnectedError,
10
+ WalletNotReadyError,
11
+ WalletSignAndSubmitMessageError,
12
+ WalletSignMessageError,
13
+ WalletSignTransactionError
14
+ } from '../WalletProviders/errors';
15
+ import {
16
+ AccountKeys,
17
+ BaseWalletAdapter,
18
+ scopePollingDetectionStrategy,
19
+ WalletName,
20
+ WalletReadyState,
21
+ SignMessagePayload,
22
+ SignMessageResponse
23
+ } from './BaseAdapter';
24
+ import { AptosNetwork, PublicAccount } from '@keystonehq/aptossnap-adapter/build/types';
25
+ import WalletAdapter from '@keystonehq/aptossnap-adapter';
26
+
27
+ interface IAptosSnap {
28
+ connect: () => Promise<PublicAccount>;
29
+ account: () => Promise<PublicAccount>;
30
+ isConnected: () => Promise<boolean>;
31
+ signAndSubmitTransaction(
32
+ transaction: EntryFunctionPayload,
33
+ options?: any
34
+ ): Promise<PendingTransaction>;
35
+ signMessage(message: SignMessagePayload): Promise<SignMessageResponse>;
36
+ disconnect(): Promise<void>;
37
+ signTransaction(transaction: EntryFunctionPayload): Promise<Uint8Array>;
38
+ }
39
+
40
+ interface SnapWindow extends Window {
41
+ snap?: IAptosSnap;
42
+ }
43
+
44
+ declare const window: SnapWindow;
45
+
46
+ export const AptosSnapName = 'Snap' as WalletName<'Snap'>;
47
+
48
+ export interface AptosSnapAdapterConfig {
49
+ provider?: IAptosSnap;
50
+ network: AptosNetwork;
51
+ timeout?: number;
52
+ }
53
+
54
+ export class AptosSnapAdapter extends BaseWalletAdapter {
55
+ name = AptosSnapName;
56
+
57
+ url =
58
+ 'https://chrome.google.com/webstore/detail/metamask-flask-developmen/ljfoeinjpaedjfecbmggjgodbgkmjkjk';
59
+
60
+ icon = 'https://metamask.zendesk.com/hc/article_attachments/6974707389467/mceclip1.png';
61
+
62
+ protected _provider: IAptosSnap | undefined;
63
+
64
+ // protected _network: WalletAdapterNetwork;
65
+ protected _timeout: number;
66
+
67
+ protected _readyState: WalletReadyState =
68
+ typeof window === 'undefined' || typeof document === 'undefined'
69
+ ? WalletReadyState.Unsupported
70
+ : WalletReadyState.NotDetected;
71
+
72
+ protected _connecting: boolean;
73
+
74
+ protected _wallet: any | null;
75
+
76
+ constructor(
77
+ {
78
+ // provider,
79
+ network,
80
+ timeout = 10000
81
+ }: AptosSnapAdapterConfig = { network: 'devnet' }
82
+ ) {
83
+ super();
84
+ //@ts-ignore
85
+ this._provider = new WalletAdapter({ network }, 'npm:@keystonehq/aptossnap');
86
+ // this._network = network;
87
+ this._timeout = timeout;
88
+ this._connecting = false;
89
+ this._wallet = null;
90
+ if (typeof window !== 'undefined' && this._readyState !== WalletReadyState.Unsupported) {
91
+ scopePollingDetectionStrategy(() => {
92
+ if (window.ethereum) {
93
+ this._readyState = WalletReadyState.Installed;
94
+ return true;
95
+ }
96
+ return false;
97
+ });
98
+ }
99
+ }
100
+
101
+ get publicAccount(): AccountKeys {
102
+ return {
103
+ publicKey: this._wallet?.publicKey || null,
104
+ address: this._wallet?.address || null,
105
+ authKey: this._wallet?.authKey || null
106
+ };
107
+ }
108
+
109
+ get connecting(): boolean {
110
+ return this._connecting;
111
+ }
112
+
113
+ get connected(): boolean {
114
+ return !!this._wallet?.isConnected;
115
+ }
116
+
117
+ get readyState(): WalletReadyState {
118
+ return this._readyState;
119
+ }
120
+
121
+ async connect(): Promise<void> {
122
+ try {
123
+ if (this.connected || this.connecting) return;
124
+ if (
125
+ !(
126
+ this._readyState === WalletReadyState.Loadable ||
127
+ this._readyState === WalletReadyState.Installed
128
+ )
129
+ )
130
+ throw new WalletNotReadyError();
131
+ this._connecting = true;
132
+ const provider = this._provider;
133
+ const isConnected = await provider?.isConnected();
134
+ if (isConnected) {
135
+ await provider?.disconnect();
136
+ }
137
+ const response = await provider?.connect();
138
+ this._wallet = {
139
+ ...response,
140
+ isConnected: true
141
+ };
142
+
143
+ this.emit('connect', this._wallet.publicKey);
144
+ } catch (error: any) {
145
+ this.emit('error', error);
146
+ throw error;
147
+ } finally {
148
+ this._connecting = false;
149
+ }
150
+ }
151
+
152
+ async disconnect(): Promise<void> {
153
+ const wallet = this._wallet;
154
+ const provider = this._provider;
155
+ if (wallet) {
156
+ this._wallet = null;
157
+ try {
158
+ await provider?.disconnect();
159
+ } catch (error: any) {
160
+ this.emit('error', new WalletDisconnectionError(error?.message, error));
161
+ }
162
+ }
163
+
164
+ this.emit('disconnect');
165
+ }
166
+
167
+ async signTransaction(transaction: TransactionPayload): Promise<Uint8Array> {
168
+ try {
169
+ const wallet = this._wallet;
170
+ if (!wallet) throw new WalletNotConnectedError();
171
+
172
+ try {
173
+ const provider = this._provider;
174
+ const response = await provider?.signTransaction(transaction as EntryFunctionPayload);
175
+ if (response) {
176
+ return new Uint8Array([]);
177
+ } else {
178
+ throw new Error('Transaction failed');
179
+ }
180
+ } catch (error: any) {
181
+ throw new WalletSignTransactionError(error?.message, error);
182
+ }
183
+ } catch (error: any) {
184
+ this.emit('error', error);
185
+ throw error;
186
+ }
187
+ }
188
+
189
+ async signAndSubmitTransaction(
190
+ transaction: TransactionPayload,
191
+ options?: any
192
+ ): Promise<{ hash: HexEncodedBytes }> {
193
+ try {
194
+ const wallet = this._wallet;
195
+ if (!wallet) throw new WalletNotConnectedError();
196
+
197
+ try {
198
+ const provider = this._provider;
199
+ const response = await provider?.signAndSubmitTransaction(
200
+ transaction as EntryFunctionPayload,
201
+ options
202
+ );
203
+ if (response) {
204
+ return { hash: response.hash };
205
+ } else {
206
+ throw new Error('Transaction failed');
207
+ }
208
+ } catch (error: any) {
209
+ // console.log('transact err', error, error.message);
210
+ throw new WalletSignAndSubmitMessageError(error.message || error);
211
+ }
212
+ } catch (error: any) {
213
+ this.emit('error', error);
214
+ throw error;
215
+ }
216
+ }
217
+
218
+ async signMessage(message: SignMessagePayload): Promise<SignMessageResponse> {
219
+ try {
220
+ const wallet = this._wallet;
221
+ const provider = this._provider;
222
+ if (!wallet || !provider) throw new WalletNotConnectedError();
223
+ const response = await provider?.signMessage(message);
224
+ if (response) {
225
+ return response;
226
+ } else {
227
+ throw new Error('Sign Message failed');
228
+ }
229
+ } catch (error: any) {
230
+ const errMsg = error.message;
231
+ this.emit('error', new WalletSignMessageError(errMsg));
232
+ throw error;
233
+ }
234
+ }
235
+ }
@@ -0,0 +1,223 @@
1
+ import { HexEncodedBytes, TransactionPayload } from 'aptos/src/generated';
2
+ import {
3
+ WalletDisconnectionError,
4
+ WalletNotConnectedError,
5
+ WalletNotReadyError,
6
+ WalletSignAndSubmitMessageError,
7
+ WalletSignMessageError,
8
+ WalletSignTransactionError
9
+ } from '../WalletProviders/errors';
10
+ import {
11
+ AccountKeys,
12
+ BaseWalletAdapter,
13
+ scopePollingDetectionStrategy,
14
+ SignMessagePayload,
15
+ SignMessageResponse,
16
+ WalletName,
17
+ WalletReadyState
18
+ } from './BaseAdapter';
19
+
20
+ interface IFletchWallet {
21
+ connect: () => Promise<{ Address: string; PublicKey: string, code: number, error?: any }>;
22
+ account: () => Promise<string>;
23
+ isConnected: () => Promise<boolean>;
24
+ signAndSubmitTransaction(transaction: any): Promise<{ code: number, error?: any, hash: string }>;
25
+ signTransaction(payload: any): Promise<{ code: number, error?: any, tx: Uint8Array }>;
26
+ signMessage(message: SignMessagePayload): Promise<{ code: number, error?: any, signedMessage: SignMessageResponse }>;
27
+ disconnect(): Promise<void>;
28
+ }
29
+
30
+ interface AptosWindow extends Window {
31
+ fletch?: IFletchWallet;
32
+ }
33
+
34
+ declare const window: AptosWindow;
35
+
36
+ export const FletchWalletName = 'Fletch' as WalletName<'Fletch'>;
37
+
38
+ export interface FletchWalletAdapterConfig {
39
+ provider?: IFletchWallet;
40
+ // network?: WalletAdapterNetwork;
41
+ timeout?: number;
42
+ }
43
+
44
+ export class FletchWalletAdapter extends BaseWalletAdapter {
45
+ name = FletchWalletName;
46
+
47
+ url = 'http://fletchwallet.io';
48
+
49
+ icon = 'http://fletchwallet.io/img/fletch-white.svg';
50
+
51
+ protected _provider: IFletchWallet;
52
+
53
+ // protected _network: WalletAdapterNetwork;
54
+ protected _timeout: number;
55
+
56
+ protected _readyState: WalletReadyState =
57
+ typeof window === 'undefined' || typeof document === 'undefined'
58
+ ? WalletReadyState.Unsupported
59
+ : WalletReadyState.NotDetected;
60
+
61
+ protected _connecting: boolean;
62
+
63
+ protected _wallet: any | null;
64
+
65
+ constructor({
66
+ // provider,
67
+ // network = WalletAdapterNetwork.Mainnet,
68
+ timeout = 10000
69
+ }: FletchWalletAdapterConfig = {}) {
70
+ super();
71
+
72
+ this._provider = typeof window !== 'undefined' ? window.fletch : undefined;
73
+ // this._network = network;
74
+ this._timeout = timeout;
75
+ this._connecting = false;
76
+ this._wallet = null;
77
+
78
+ if (typeof window !== 'undefined' && this._readyState !== WalletReadyState.Unsupported) {
79
+ scopePollingDetectionStrategy(() => {
80
+ if (window.fletch) {
81
+ this._readyState = WalletReadyState.Installed;
82
+ this.emit('readyStateChange', this._readyState);
83
+ return true;
84
+ }
85
+ return false;
86
+ });
87
+ }
88
+ }
89
+
90
+ get publicAccount(): AccountKeys {
91
+ return {
92
+ publicKey: this._wallet?.publicKey || null,
93
+ address: this._wallet?.address || null,
94
+ authKey: this._wallet?.authKey || null
95
+ };
96
+ }
97
+
98
+ get connecting(): boolean {
99
+ return this._connecting;
100
+ }
101
+
102
+ get connected(): boolean {
103
+ return !!this._wallet?.isConnected;
104
+ }
105
+
106
+ get readyState(): WalletReadyState {
107
+ return this._readyState;
108
+ }
109
+
110
+ async connect(): Promise<void> {
111
+ try {
112
+ if (this.connected || this.connecting) return;
113
+ if (
114
+ !(
115
+ this._readyState === WalletReadyState.Loadable ||
116
+ this._readyState === WalletReadyState.Installed
117
+ )
118
+ )
119
+ throw new WalletNotReadyError();
120
+ this._connecting = true;
121
+
122
+ const provider = this._provider || window.fletch;
123
+ const isConnected = await this._provider?.isConnected();
124
+ if (isConnected === true) {
125
+ await provider?.disconnect();
126
+ }
127
+
128
+ const response = await provider?.connect();
129
+ if (response.code != 200) {
130
+ throw response.error
131
+ }
132
+ this._wallet = {
133
+ address: response?.Address,
134
+ publicKey: response?.PublicKey,
135
+ isConnected: true
136
+ };
137
+
138
+ this.emit('connect', this._wallet.publicKey);
139
+ } catch (error: any) {
140
+ this.emit('error', error);
141
+ throw error;
142
+ } finally {
143
+ this._connecting = false;
144
+ }
145
+ }
146
+
147
+ async disconnect(): Promise<void> {
148
+ const wallet = this._wallet;
149
+ const provider = this._provider || window.fletch;
150
+ if (wallet) {
151
+ this._wallet = null;
152
+
153
+ try {
154
+ await provider?.disconnect();
155
+ } catch (error: any) {
156
+ this.emit('error', new WalletDisconnectionError(error?.message, error));
157
+ }
158
+ }
159
+
160
+ this.emit('disconnect');
161
+ }
162
+
163
+ async signTransaction(transaction: TransactionPayload): Promise<Uint8Array> {
164
+ try {
165
+ const wallet = this._wallet;
166
+ const provider = this._provider || window.fletch;
167
+ if (!wallet || !provider) throw new WalletNotConnectedError();
168
+
169
+ const response = await provider.signTransaction(transaction);
170
+ if (response.code != 200) {
171
+ throw response.error
172
+ }
173
+ return response.tx;
174
+ } catch (error: any) {
175
+ const errMsg = error.message;
176
+ this.emit('error', new WalletSignTransactionError(errMsg));
177
+ throw error;
178
+ }
179
+ }
180
+
181
+ async signAndSubmitTransaction(
182
+ transaction: TransactionPayload
183
+ ): Promise<{ hash: HexEncodedBytes }> {
184
+ try {
185
+ const wallet = this._wallet;
186
+ const provider = this._provider || window.fletch;
187
+ if (!wallet || !provider) throw new WalletNotConnectedError();
188
+ const response = await provider.signAndSubmitTransaction(transaction);
189
+ if (response.code == 200) {
190
+ return { hash: response.hash };
191
+ }
192
+
193
+ throw response.error
194
+
195
+ } catch (error: any) {
196
+ const errMsg = error.message;
197
+ this.emit('error', new WalletSignAndSubmitMessageError(errMsg));
198
+ throw error;
199
+ }
200
+ }
201
+
202
+ async signMessage(msgPayload: SignMessagePayload): Promise<SignMessageResponse> {
203
+ try {
204
+ const wallet = this._wallet;
205
+ const provider = this._provider || window.fletch;
206
+ if (!wallet || !provider) throw new WalletNotConnectedError();
207
+ if (typeof msgPayload !== 'object' || !msgPayload.nonce) {
208
+ throw new WalletSignMessageError('Invalid signMessage Payload');
209
+ }
210
+
211
+ const response = await provider?.signMessage(msgPayload);
212
+ if (response.code == 200) {
213
+ return response.signedMessage;
214
+ }
215
+
216
+ throw response.error
217
+ } catch (error: any) {
218
+ const errMsg = error.message;
219
+ this.emit('error', new WalletSignMessageError(errMsg));
220
+ throw error;
221
+ }
222
+ }
223
+ }