@manahippo/aptos-wallet-adapter 0.1.1 → 0.1.4

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 (62) hide show
  1. package/dist/WalletAdatpers/AptosWallet.d.ts +39 -0
  2. package/dist/WalletAdatpers/AptosWallet.d.ts.map +1 -0
  3. package/dist/WalletAdatpers/AptosWallet.js +154 -0
  4. package/dist/WalletAdatpers/AptosWallet.js.map +1 -0
  5. package/dist/WalletAdatpers/BaseAdapter.d.ts +70 -0
  6. package/dist/WalletAdatpers/BaseAdapter.d.ts.map +1 -0
  7. package/dist/WalletAdatpers/BaseAdapter.js +71 -0
  8. package/dist/WalletAdatpers/BaseAdapter.js.map +1 -0
  9. package/dist/WalletAdatpers/HippoExtensionWallet.d.ts +38 -0
  10. package/dist/WalletAdatpers/HippoExtensionWallet.d.ts.map +1 -0
  11. package/dist/WalletAdatpers/HippoExtensionWallet.js +154 -0
  12. package/dist/WalletAdatpers/HippoExtensionWallet.js.map +1 -0
  13. package/dist/WalletAdatpers/HippoWallet.d.ts +37 -0
  14. package/dist/WalletAdatpers/HippoWallet.d.ts.map +1 -0
  15. package/dist/WalletAdatpers/HippoWallet.js +152 -0
  16. package/dist/WalletAdatpers/HippoWallet.js.map +1 -0
  17. package/dist/WalletAdatpers/MartianWallet.d.ts +35 -0
  18. package/dist/WalletAdatpers/MartianWallet.d.ts.map +1 -0
  19. package/dist/WalletAdatpers/MartianWallet.js +200 -0
  20. package/dist/WalletAdatpers/MartianWallet.js.map +1 -0
  21. package/dist/WalletAdatpers/MultiMaskWallet.d.ts +39 -0
  22. package/dist/WalletAdatpers/MultiMaskWallet.d.ts.map +1 -0
  23. package/dist/WalletAdatpers/MultiMaskWallet.js +194 -0
  24. package/dist/WalletAdatpers/MultiMaskWallet.js.map +1 -0
  25. package/dist/WalletAdatpers/index.d.ts +7 -0
  26. package/dist/WalletAdatpers/index.d.ts.map +1 -0
  27. package/dist/WalletAdatpers/index.js +23 -0
  28. package/dist/WalletAdatpers/index.js.map +1 -0
  29. package/dist/WalletProviders/WalletProvider.d.ts +12 -0
  30. package/dist/WalletProviders/WalletProvider.d.ts.map +1 -0
  31. package/dist/WalletProviders/WalletProvider.js +217 -0
  32. package/dist/WalletProviders/WalletProvider.js.map +1 -0
  33. package/dist/WalletProviders/errors.d.ts +59 -0
  34. package/dist/WalletProviders/errors.d.ts.map +1 -0
  35. package/dist/WalletProviders/errors.js +138 -0
  36. package/dist/WalletProviders/errors.js.map +1 -0
  37. package/dist/WalletProviders/index.d.ts +4 -0
  38. package/dist/WalletProviders/index.d.ts.map +1 -0
  39. package/dist/WalletProviders/index.js +20 -0
  40. package/dist/WalletProviders/index.js.map +1 -0
  41. package/dist/WalletProviders/useWallet.d.ts +24 -0
  42. package/dist/WalletProviders/useWallet.d.ts.map +1 -0
  43. package/dist/WalletProviders/useWallet.js +16 -0
  44. package/dist/WalletProviders/useWallet.js.map +1 -0
  45. package/dist/config/aptosConstants.d.ts +2 -0
  46. package/dist/config/aptosConstants.d.ts.map +1 -0
  47. package/dist/config/aptosConstants.js +5 -0
  48. package/dist/config/aptosConstants.js.map +1 -0
  49. package/dist/hooks/useLocalStorage.d.ts +4 -0
  50. package/dist/hooks/useLocalStorage.d.ts.map +1 -0
  51. package/dist/hooks/useLocalStorage.js +36 -0
  52. package/dist/hooks/useLocalStorage.js.map +1 -0
  53. package/dist/index.d.ts +3 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +19 -0
  56. package/dist/index.js.map +1 -0
  57. package/package.json +7 -1
  58. package/src/WalletAdatpers/MartianWallet.ts +13 -13
  59. package/.eslintignore +0 -6
  60. package/.eslintrc.json +0 -52
  61. package/.prettierrc.json +0 -9
  62. package/tsconfig.json +0 -104
@@ -0,0 +1,39 @@
1
+ import { PendingTransaction, SubmitTransactionRequest, TransactionPayload } from 'aptos/dist/api/data-contracts';
2
+ import { BaseWalletAdapter, PublicKey, WalletName, WalletReadyState } from './BaseAdapter';
3
+ interface IAptosWallet {
4
+ requestId: number;
5
+ connect: () => Promise<{
6
+ address: string;
7
+ }>;
8
+ account: () => Promise<string>;
9
+ isConnected: () => Promise<boolean>;
10
+ signAndSubmitTransaction(transaction: any): Promise<void>;
11
+ signTransaction(transaction: any): Promise<void>;
12
+ disconnect(): Promise<void>;
13
+ }
14
+ export declare const AptosWalletName: WalletName<"Aptos Wallet">;
15
+ export interface AptosWalletAdapterConfig {
16
+ provider?: IAptosWallet;
17
+ timeout?: number;
18
+ }
19
+ export declare class AptosWalletAdapter extends BaseWalletAdapter {
20
+ name: WalletName<"Aptos Wallet">;
21
+ url: string;
22
+ icon: string;
23
+ protected _provider: IAptosWallet | undefined;
24
+ protected _timeout: number;
25
+ protected _readyState: WalletReadyState;
26
+ protected _connecting: boolean;
27
+ protected _wallet: any | null;
28
+ constructor({ timeout }?: AptosWalletAdapterConfig);
29
+ get publicKey(): PublicKey | null;
30
+ get connecting(): boolean;
31
+ get connected(): boolean;
32
+ get readyState(): WalletReadyState;
33
+ connect(): Promise<void>;
34
+ disconnect(): Promise<void>;
35
+ signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
36
+ signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction>;
37
+ }
38
+ export {};
39
+ //# sourceMappingURL=AptosWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AptosWallet.d.ts","sourceRoot":"","sources":["../../src/WalletAdatpers/AptosWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,wBAAwB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAQD,eAAO,MAAM,eAAe,4BAA+C,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,IAAI,6BAAmB;IAEvB,GAAG,SAAwD;IAE3D,IAAI,SAAwE;IAE5E,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IAG9C,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE3B,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAGJ;IAEnC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAE/B,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;gBAElB,EAGV,OAAe,EAChB,GAAE,wBAA6B;IAqBhC,IAAI,SAAS,IAAI,SAAS,GAAG,IAAI,CAEhC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAsBnF,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAqB7F"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AptosWalletAdapter = exports.AptosWalletName = void 0;
13
+ const errors_1 = require("../WalletProviders/errors");
14
+ const BaseAdapter_1 = require("./BaseAdapter");
15
+ exports.AptosWalletName = 'Aptos Wallet';
16
+ class AptosWalletAdapter extends BaseAdapter_1.BaseWalletAdapter {
17
+ constructor({
18
+ // provider,
19
+ // network = WalletAdapterNetwork.Mainnet,
20
+ timeout = 10000 } = {}) {
21
+ super();
22
+ this.name = exports.AptosWalletName;
23
+ this.url = 'https://aptos.dev/guides/building-wallet-extension';
24
+ this.icon = 'https://miro.medium.com/fit/c/176/176/1*Gf747eyRywU8Img0tK5wvw.png';
25
+ this._readyState = typeof window === 'undefined' || typeof document === 'undefined'
26
+ ? BaseAdapter_1.WalletReadyState.Unsupported
27
+ : BaseAdapter_1.WalletReadyState.NotDetected;
28
+ this._provider = window.aptos;
29
+ // this._network = network;
30
+ this._timeout = timeout;
31
+ this._connecting = false;
32
+ this._wallet = null;
33
+ if (this._readyState !== BaseAdapter_1.WalletReadyState.Unsupported) {
34
+ (0, BaseAdapter_1.scopePollingDetectionStrategy)(() => {
35
+ if (window.aptos) {
36
+ this._readyState = BaseAdapter_1.WalletReadyState.Installed;
37
+ this.emit('readyStateChange', this._readyState);
38
+ return true;
39
+ }
40
+ return false;
41
+ });
42
+ }
43
+ }
44
+ get publicKey() {
45
+ var _a;
46
+ return ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.publicKey) || null;
47
+ }
48
+ get connecting() {
49
+ return this._connecting;
50
+ }
51
+ get connected() {
52
+ var _a;
53
+ return !!((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.isConnected);
54
+ }
55
+ get readyState() {
56
+ return this._readyState;
57
+ }
58
+ connect() {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ try {
61
+ if (this.connected || this.connecting)
62
+ return;
63
+ if (!(this._readyState === BaseAdapter_1.WalletReadyState.Loadable ||
64
+ this._readyState === BaseAdapter_1.WalletReadyState.Installed))
65
+ throw new errors_1.WalletNotReadyError();
66
+ this._connecting = true;
67
+ const provider = this._provider || window.aptos;
68
+ const response = yield (provider === null || provider === void 0 ? void 0 : provider.connect());
69
+ this._wallet = {
70
+ publicKey: response === null || response === void 0 ? void 0 : response.address,
71
+ isConnected: true
72
+ };
73
+ this.emit('connect', this._wallet.publicKey);
74
+ }
75
+ catch (error) {
76
+ this.emit('error', error);
77
+ throw error;
78
+ }
79
+ finally {
80
+ this._connecting = false;
81
+ }
82
+ });
83
+ }
84
+ disconnect() {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const wallet = this._wallet;
87
+ if (wallet) {
88
+ this._wallet = null;
89
+ try {
90
+ const provider = this._provider || window.aptos;
91
+ yield (provider === null || provider === void 0 ? void 0 : provider.disconnect());
92
+ }
93
+ catch (error) {
94
+ this.emit('error', new errors_1.WalletDisconnectionError(error === null || error === void 0 ? void 0 : error.message, error));
95
+ }
96
+ }
97
+ this.emit('disconnect');
98
+ });
99
+ }
100
+ signTransaction(transaction) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ try {
103
+ const wallet = this._wallet;
104
+ if (!wallet)
105
+ throw new errors_1.WalletNotConnectedError();
106
+ try {
107
+ const provider = this._provider || window.aptos;
108
+ const response = yield (provider === null || provider === void 0 ? void 0 : provider.signTransaction(transaction));
109
+ if (response) {
110
+ return response;
111
+ }
112
+ else {
113
+ throw new Error('Transaction failed');
114
+ }
115
+ }
116
+ catch (error) {
117
+ throw new errors_1.WalletSignTransactionError(error === null || error === void 0 ? void 0 : error.message, error);
118
+ }
119
+ }
120
+ catch (error) {
121
+ this.emit('error', error);
122
+ throw error;
123
+ }
124
+ });
125
+ }
126
+ signAndSubmitTransaction(transaction) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ try {
129
+ const wallet = this._wallet;
130
+ if (!wallet)
131
+ throw new errors_1.WalletNotConnectedError();
132
+ try {
133
+ const provider = this._provider || window.aptos;
134
+ const response = yield (provider === null || provider === void 0 ? void 0 : provider.signAndSubmitTransaction(transaction));
135
+ if (response) {
136
+ return response;
137
+ }
138
+ else {
139
+ throw new Error('Transaction failed');
140
+ }
141
+ }
142
+ catch (error) {
143
+ throw new errors_1.WalletSignTransactionError(error.message);
144
+ }
145
+ }
146
+ catch (error) {
147
+ this.emit('error', error);
148
+ throw error;
149
+ }
150
+ });
151
+ }
152
+ }
153
+ exports.AptosWalletAdapter = AptosWalletAdapter;
154
+ //# sourceMappingURL=AptosWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AptosWallet.js","sourceRoot":"","sources":["../../src/WalletAdatpers/AptosWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { MaybeHexString } from 'aptos';
2
+ import { PendingTransaction, SubmitTransactionRequest, TransactionPayload } from 'aptos/dist/api/data-contracts';
3
+ import EventEmitter from 'eventemitter3';
4
+ declare global {
5
+ interface Window {
6
+ hippo: any;
7
+ }
8
+ }
9
+ export { EventEmitter };
10
+ export declare type PublicKey = MaybeHexString;
11
+ export interface WalletAdapterEvents {
12
+ connect(publicKey: PublicKey): void;
13
+ disconnect(): void;
14
+ error(error: any): void;
15
+ success(value: any): void;
16
+ readyStateChange(readyState: WalletReadyState): void;
17
+ }
18
+ export declare enum WalletReadyState {
19
+ /**
20
+ * User-installable wallets can typically be detected by scanning for an API
21
+ * that they've injected into the global context. If such an API is present,
22
+ * we consider the wallet to have been installed.
23
+ */
24
+ Installed = "Installed",
25
+ NotDetected = "NotDetected",
26
+ /**
27
+ * Loadable wallets are always available to you. Since you can load them at
28
+ * any time, it's meaningless to say that they have been detected.
29
+ */
30
+ Loadable = "Loadable",
31
+ /**
32
+ * If a wallet is not supported on a given platform (eg. server-rendering, or
33
+ * mobile) then it will stay in the `Unsupported` state.
34
+ */
35
+ Unsupported = "Unsupported"
36
+ }
37
+ export declare type WalletName<T extends string = string> = T & {
38
+ __brand__: 'WalletName';
39
+ };
40
+ export interface WalletAdapterProps<Name extends string = string> {
41
+ name: WalletName<Name>;
42
+ url: string;
43
+ icon: string;
44
+ readyState: WalletReadyState;
45
+ publicKey: PublicKey | null;
46
+ connecting: boolean;
47
+ connected: boolean;
48
+ connect(): Promise<void>;
49
+ disconnect(): Promise<void>;
50
+ signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction>;
51
+ signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
52
+ }
53
+ export declare type WalletAdapter<Name extends string = string> = WalletAdapterProps<Name> & EventEmitter<WalletAdapterEvents>;
54
+ export interface SignerWalletAdapterProps {
55
+ }
56
+ export declare abstract class BaseWalletAdapter extends EventEmitter<WalletAdapterEvents> implements WalletAdapter {
57
+ abstract name: WalletName;
58
+ abstract url: string;
59
+ abstract icon: string;
60
+ abstract get readyState(): WalletReadyState;
61
+ abstract get publicKey(): PublicKey | null;
62
+ abstract get connecting(): boolean;
63
+ get connected(): boolean;
64
+ abstract connect(): Promise<void>;
65
+ abstract disconnect(): Promise<void>;
66
+ abstract signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction>;
67
+ abstract signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
68
+ }
69
+ export declare function scopePollingDetectionStrategy(detect: () => boolean): void;
70
+ //# sourceMappingURL=BaseAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAdapter.d.ts","sourceRoot":"","sources":["../../src/WalletAdatpers/BaseAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,KAAK,EAAE,GAAG,CAAC;KACZ;CACF;AAED,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,oBAAY,SAAS,GAAG,cAAc,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACpC,UAAU,IAAI,IAAI,CAAC;IACnB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACtD;AAED,oBAAY,gBAAgB;IAC1B;;;;OAIG;IACH,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B;;;OAGG;IACH,QAAQ,aAAa;IACrB;;;OAGG;IACH,WAAW,gBAAgB;CAC5B;AAED,oBAAY,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG;IAAE,SAAS,EAAE,YAAY,CAAA;CAAE,CAAC;AAEpF,MAAM,WAAW,kBAAkB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAC9D,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IAEnB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,wBAAwB,CACtB,WAAW,EAAE,kBAAkB,GAG9B,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,eAAe,CACb,WAAW,EAAE,kBAAkB,GAG9B,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACtC;AAED,oBAAY,aAAa,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAChF,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAEpC,MAAM,WAAW,wBAAwB;CAGxC;AAED,8BAAsB,iBACpB,SAAQ,YAAY,CAAC,mBAAmB,CACxC,YAAW,aAAa;IAExB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,KAAK,UAAU,IAAI,gBAAgB,CAAC;IAE5C,QAAQ,KAAK,SAAS,IAAI,SAAS,GAAG,IAAI,CAAC;IAE3C,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC;IAEnC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE/F,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAC7F;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,OAAO,GAAG,IAAI,CAyCzE"}
@@ -0,0 +1,71 @@
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
+ exports.scopePollingDetectionStrategy = exports.BaseWalletAdapter = exports.WalletReadyState = exports.EventEmitter = void 0;
7
+ const eventemitter3_1 = __importDefault(require("eventemitter3"));
8
+ exports.EventEmitter = eventemitter3_1.default;
9
+ var WalletReadyState;
10
+ (function (WalletReadyState) {
11
+ /**
12
+ * User-installable wallets can typically be detected by scanning for an API
13
+ * that they've injected into the global context. If such an API is present,
14
+ * we consider the wallet to have been installed.
15
+ */
16
+ WalletReadyState["Installed"] = "Installed";
17
+ WalletReadyState["NotDetected"] = "NotDetected";
18
+ /**
19
+ * Loadable wallets are always available to you. Since you can load them at
20
+ * any time, it's meaningless to say that they have been detected.
21
+ */
22
+ WalletReadyState["Loadable"] = "Loadable";
23
+ /**
24
+ * If a wallet is not supported on a given platform (eg. server-rendering, or
25
+ * mobile) then it will stay in the `Unsupported` state.
26
+ */
27
+ WalletReadyState["Unsupported"] = "Unsupported";
28
+ })(WalletReadyState = exports.WalletReadyState || (exports.WalletReadyState = {}));
29
+ class BaseWalletAdapter extends eventemitter3_1.default {
30
+ get connected() {
31
+ return !!this.publicKey;
32
+ }
33
+ }
34
+ exports.BaseWalletAdapter = BaseWalletAdapter;
35
+ function scopePollingDetectionStrategy(detect) {
36
+ // Early return when server-side rendering
37
+ if (typeof window === 'undefined' || typeof document === 'undefined')
38
+ return;
39
+ const disposers = [];
40
+ function detectAndDispose() {
41
+ const detected = detect();
42
+ if (detected) {
43
+ for (const dispose of disposers) {
44
+ dispose();
45
+ }
46
+ }
47
+ }
48
+ // Strategy #1: Try detecting every second.
49
+ const interval =
50
+ // TODO: #334 Replace with idle callback strategy.
51
+ setInterval(detectAndDispose, 1000);
52
+ disposers.push(() => clearInterval(interval));
53
+ // Strategy #2: Detect as soon as the DOM becomes 'ready'/'interactive'.
54
+ if (
55
+ // Implies that `DOMContentLoaded` has not yet fired.
56
+ document.readyState === 'loading') {
57
+ document.addEventListener('DOMContentLoaded', detectAndDispose, { once: true });
58
+ disposers.push(() => document.removeEventListener('DOMContentLoaded', detectAndDispose));
59
+ }
60
+ // Strategy #3: Detect after the `window` has fully loaded.
61
+ if (
62
+ // If the `complete` state has been reached, we're too late.
63
+ document.readyState !== 'complete') {
64
+ window.addEventListener('load', detectAndDispose, { once: true });
65
+ disposers.push(() => window.removeEventListener('load', detectAndDispose));
66
+ }
67
+ // Strategy #4: Detect synchronously, now.
68
+ detectAndDispose();
69
+ }
70
+ exports.scopePollingDetectionStrategy = scopePollingDetectionStrategy;
71
+ //# sourceMappingURL=BaseAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseAdapter.js","sourceRoot":"","sources":["../../src/WalletAdatpers/BaseAdapter.ts"],"names":[],"mappings":";;;;;;AAMA,kEAAyC;AAQhC,uBARF,uBAAY,CAQE;AAYrB,IAAY,gBAkBX;AAlBD,WAAY,gBAAgB;IAC1B;;;;OAIG;IACH,2CAAuB,CAAA;IACvB,+CAA2B,CAAA;IAC3B;;;OAGG;IACH,yCAAqB,CAAA;IACrB;;;OAGG;IACH,+CAA2B,CAAA;AAC7B,CAAC,EAlBW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAkB3B;AAmCD,MAAsB,iBACpB,SAAQ,uBAAiC;IAezC,IAAI,SAAS;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CAOF;AAzBD,8CAyBC;AAED,SAAgB,6BAA6B,CAAC,MAAqB;IACjE,0CAA0C;IAC1C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAE7E,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,SAAS,gBAAgB;QACvB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;QAC1B,IAAI,QAAQ,EAAE;YACZ,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;gBAC/B,OAAO,EAAE,CAAC;aACX;SACF;IACH,CAAC;IAED,2CAA2C;IAC3C,MAAM,QAAQ;IACZ,kDAAkD;IAClD,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACtC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9C,wEAAwE;IACxE;IACE,qDAAqD;IACrD,QAAQ,CAAC,UAAU,KAAK,SAAS,EACjC;QACA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;KAC1F;IAED,2DAA2D;IAC3D;IACE,4DAA4D;IAC5D,QAAQ,CAAC,UAAU,KAAK,UAAU,EAClC;QACA,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;KAC5E;IAED,0CAA0C;IAC1C,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAzCD,sEAyCC"}
@@ -0,0 +1,38 @@
1
+ import { PendingTransaction, SubmitTransactionRequest, TransactionPayload } from 'aptos/dist/api/data-contracts';
2
+ import { BaseWalletAdapter, PublicKey, WalletName, WalletReadyState } from './BaseAdapter';
3
+ interface IHippoWallet {
4
+ connect: () => Promise<{
5
+ address: string;
6
+ }>;
7
+ account: () => Promise<string>;
8
+ isConnected: () => Promise<boolean>;
9
+ signAndSubmitTransaction(transaction: any): Promise<void>;
10
+ signTransaction(transaction: any): Promise<void>;
11
+ disconnect(): Promise<void>;
12
+ }
13
+ export declare const HippoExtensionWalletName: WalletName<"Hippo Extension Wallet">;
14
+ export interface HippoExtensionWalletAdapterConfig {
15
+ provider?: IHippoWallet;
16
+ timeout?: number;
17
+ }
18
+ export declare class HippoExtensionWalletAdapter extends BaseWalletAdapter {
19
+ name: WalletName<"Hippo Extension Wallet">;
20
+ url: string;
21
+ icon: string;
22
+ protected _provider: IHippoWallet | undefined;
23
+ protected _timeout: number;
24
+ protected _readyState: WalletReadyState;
25
+ protected _connecting: boolean;
26
+ protected _wallet: any | null;
27
+ constructor({ timeout }?: HippoExtensionWalletAdapterConfig);
28
+ get publicKey(): PublicKey | null;
29
+ get connecting(): boolean;
30
+ get connected(): boolean;
31
+ get readyState(): WalletReadyState;
32
+ connect(): Promise<void>;
33
+ disconnect(): Promise<void>;
34
+ signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
35
+ signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction>;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=HippoExtensionWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HippoExtensionWallet.d.ts","sourceRoot":"","sources":["../../src/WalletAdatpers/HippoExtensionWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,wBAAwB,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,eAAe,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAQD,eAAO,MAAM,wBAAwB,sCAC6B,CAAC;AAEnE,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,EAAE,YAAY,CAAC;IAExB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,IAAI,uCAA4B;IAEhC,GAAG,SAAuC;IAE1C,IAAI,SAAqF;IAEzF,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,SAAS,CAAC;IAG9C,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE3B,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAGJ;IAEnC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAE/B,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;gBAElB,EAGV,OAAe,EAChB,GAAE,iCAAsC;IAqBzC,IAAI,SAAS,IAAI,SAAS,GAAG,IAAI,CAEhC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAsBnF,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAqB7F"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HippoExtensionWalletAdapter = exports.HippoExtensionWalletName = void 0;
13
+ const errors_1 = require("../WalletProviders/errors");
14
+ const BaseAdapter_1 = require("./BaseAdapter");
15
+ exports.HippoExtensionWalletName = 'Hippo Extension Wallet';
16
+ class HippoExtensionWalletAdapter extends BaseAdapter_1.BaseWalletAdapter {
17
+ constructor({
18
+ // provider,
19
+ // network = WalletAdapterNetwork.Mainnet,
20
+ timeout = 10000 } = {}) {
21
+ super();
22
+ this.name = exports.HippoExtensionWalletName;
23
+ this.url = 'https://hippo-wallet-test.web.app';
24
+ this.icon = 'https://ui-test1-22e7c.web.app/static/media/hippo_logo.ecded6bf411652de9b7f.png';
25
+ this._readyState = typeof window === 'undefined' || typeof document === 'undefined'
26
+ ? BaseAdapter_1.WalletReadyState.Unsupported
27
+ : BaseAdapter_1.WalletReadyState.NotDetected;
28
+ this._provider = window.hippoWallet;
29
+ // this._network = network;
30
+ this._timeout = timeout;
31
+ this._connecting = false;
32
+ this._wallet = null;
33
+ if (this._readyState !== BaseAdapter_1.WalletReadyState.Unsupported) {
34
+ (0, BaseAdapter_1.scopePollingDetectionStrategy)(() => {
35
+ if (window.hippoWallet) {
36
+ this._readyState = BaseAdapter_1.WalletReadyState.Installed;
37
+ this.emit('readyStateChange', this._readyState);
38
+ return true;
39
+ }
40
+ return false;
41
+ });
42
+ }
43
+ }
44
+ get publicKey() {
45
+ var _a;
46
+ return ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.publicKey) || null;
47
+ }
48
+ get connecting() {
49
+ return this._connecting;
50
+ }
51
+ get connected() {
52
+ var _a;
53
+ return !!((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.isConnected);
54
+ }
55
+ get readyState() {
56
+ return this._readyState;
57
+ }
58
+ connect() {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ try {
61
+ if (this.connected || this.connecting)
62
+ return;
63
+ if (!(this._readyState === BaseAdapter_1.WalletReadyState.Loadable ||
64
+ this._readyState === BaseAdapter_1.WalletReadyState.Installed))
65
+ throw new errors_1.WalletNotReadyError();
66
+ this._connecting = true;
67
+ const provider = this._provider || window.hippoWallet;
68
+ const response = yield (provider === null || provider === void 0 ? void 0 : provider.connect());
69
+ this._wallet = {
70
+ publicKey: response === null || response === void 0 ? void 0 : response.address,
71
+ isConnected: true
72
+ };
73
+ this.emit('connect', this._wallet.publicKey);
74
+ }
75
+ catch (error) {
76
+ this.emit('error', error);
77
+ throw error;
78
+ }
79
+ finally {
80
+ this._connecting = false;
81
+ }
82
+ });
83
+ }
84
+ disconnect() {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ const wallet = this._wallet;
87
+ if (wallet) {
88
+ this._wallet = null;
89
+ try {
90
+ const provider = this._provider || window.hippoWallet;
91
+ yield (provider === null || provider === void 0 ? void 0 : provider.disconnect());
92
+ }
93
+ catch (error) {
94
+ this.emit('error', new errors_1.WalletDisconnectionError(error === null || error === void 0 ? void 0 : error.message, error));
95
+ }
96
+ }
97
+ this.emit('disconnect');
98
+ });
99
+ }
100
+ signTransaction(transaction) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ try {
103
+ const wallet = this._wallet;
104
+ if (!wallet)
105
+ throw new errors_1.WalletNotConnectedError();
106
+ try {
107
+ const provider = this._provider || window.hippoWallet;
108
+ const response = yield (provider === null || provider === void 0 ? void 0 : provider.signTransaction(transaction));
109
+ if (response) {
110
+ return response;
111
+ }
112
+ else {
113
+ throw new Error('Transaction failed');
114
+ }
115
+ }
116
+ catch (error) {
117
+ throw new errors_1.WalletSignTransactionError(error === null || error === void 0 ? void 0 : error.message, error);
118
+ }
119
+ }
120
+ catch (error) {
121
+ this.emit('error', error);
122
+ throw error;
123
+ }
124
+ });
125
+ }
126
+ signAndSubmitTransaction(transaction) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ try {
129
+ const wallet = this._wallet;
130
+ if (!wallet)
131
+ throw new errors_1.WalletNotConnectedError();
132
+ try {
133
+ const provider = this._provider || window.hippoWallet;
134
+ const response = yield (provider === null || provider === void 0 ? void 0 : provider.signAndSubmitTransaction(transaction));
135
+ if (response) {
136
+ return response;
137
+ }
138
+ else {
139
+ throw new Error('Transaction failed');
140
+ }
141
+ }
142
+ catch (error) {
143
+ throw new errors_1.WalletSignTransactionError(error.message);
144
+ }
145
+ }
146
+ catch (error) {
147
+ this.emit('error', error);
148
+ throw error;
149
+ }
150
+ });
151
+ }
152
+ }
153
+ exports.HippoExtensionWalletAdapter = HippoExtensionWalletAdapter;
154
+ //# sourceMappingURL=HippoExtensionWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HippoExtensionWallet.js","sourceRoot":"","sources":["../../src/WalletAdatpers/HippoExtensionWallet.ts"],"names":[],"mappings":";;;;;;;;;;;;AAKA,sDAKmC;AACnC,+CAMuB;AAiBV,QAAA,wBAAwB,GACnC,wBAAgE,CAAC;AAQnE,MAAa,2BAA4B,SAAQ,+BAAiB;IAqBhE,YAAY;IACV,YAAY;IACZ,0CAA0C;IAC1C,OAAO,GAAG,KAAK,KACsB,EAAE;QACvC,KAAK,EAAE,CAAC;QAzBV,SAAI,GAAG,gCAAwB,CAAC;QAEhC,QAAG,GAAG,mCAAmC,CAAC;QAE1C,SAAI,GAAG,iFAAiF,CAAC;QAO/E,gBAAW,GACnB,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW;YAC9D,CAAC,CAAC,8BAAgB,CAAC,WAAW;YAC9B,CAAC,CAAC,8BAAgB,CAAC,WAAW,CAAC;QAajC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;QACpC,2BAA2B;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,CAAC,WAAW,KAAK,8BAAgB,CAAC,WAAW,EAAE;YACrD,IAAA,2CAA6B,EAAC,GAAG,EAAE;gBACjC,IAAI,MAAM,CAAC,WAAW,EAAE;oBACtB,IAAI,CAAC,WAAW,GAAG,8BAAgB,CAAC,SAAS,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAChD,OAAO,IAAI,CAAC;iBACb;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,IAAI,SAAS;;QACX,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,KAAI,IAAI,CAAC;IACzC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;;QACX,OAAO,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,CAAA,CAAC;IACrC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEK,OAAO;;YACX,IAAI;gBACF,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAC9C,IACE,CAAC,CACC,IAAI,CAAC,WAAW,KAAK,8BAAgB,CAAC,QAAQ;oBAC9C,IAAI,CAAC,WAAW,KAAK,8BAAgB,CAAC,SAAS,CAChD;oBAED,MAAM,IAAI,4BAAmB,EAAE,CAAC;gBAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC;gBACtD,MAAM,QAAQ,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,EAAE,CAAA,CAAC;gBAE3C,IAAI,CAAC,OAAO,GAAG;oBACb,SAAS,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO;oBAC5B,WAAW,EAAE,IAAI;iBAClB,CAAC;gBAEF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAC9C;YAAC,OAAO,KAAU,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1B,MAAM,KAAK,CAAC;aACb;oBAAS;gBACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;QACH,CAAC;KAAA;IAEK,UAAU;;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC;oBACtD,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE,CAAA,CAAC;iBAC9B;gBAAC,OAAO,KAAU,EAAE;oBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,iCAAwB,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;iBACzE;aACF;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;KAAA;IAEK,eAAe,CAAC,WAA+B;;YACnD,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,gCAAuB,EAAE,CAAC;gBAEjD,IAAI;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC;oBACtD,MAAM,QAAQ,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,WAAW,CAAC,CAAA,CAAC;oBAC9D,IAAI,QAAQ,EAAE;wBACZ,OAAO,QAAQ,CAAC;qBACjB;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;qBACvC;iBACF;gBAAC,OAAO,KAAU,EAAE;oBACnB,MAAM,IAAI,mCAA0B,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,KAAK,CAAC,CAAC;iBAC7D;aACF;YAAC,OAAO,KAAU,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1B,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;IAEK,wBAAwB,CAAC,WAA+B;;YAC5D,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,gCAAuB,EAAE,CAAC;gBAEjD,IAAI;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC;oBACtD,MAAM,QAAQ,GAAG,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,wBAAwB,CAAC,WAAW,CAAC,CAAA,CAAC;oBACvE,IAAI,QAAQ,EAAE;wBACZ,OAAO,QAAQ,CAAC;qBACjB;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;qBACvC;iBACF;gBAAC,OAAO,KAAU,EAAE;oBACnB,MAAM,IAAI,mCAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBACrD;aACF;YAAC,OAAO,KAAU,EAAE;gBACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC1B,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;CACF;AAtJD,kEAsJC"}
@@ -0,0 +1,37 @@
1
+ import { MaybeHexString } from 'aptos';
2
+ import { PendingTransaction, SubmitTransactionRequest, TransactionPayload } from 'aptos/dist/api/data-contracts';
3
+ import { BaseWalletAdapter, PublicKey, WalletName, WalletReadyState } from './BaseAdapter';
4
+ export declare const HippoWalletName: WalletName<"Hippo Wallet">;
5
+ export interface HippoWalletAdapterConfig {
6
+ provider?: string;
7
+ timeout?: number;
8
+ }
9
+ export declare class HippoWalletAdapter extends BaseWalletAdapter {
10
+ name: WalletName<"Hippo Wallet">;
11
+ url: string;
12
+ icon: string;
13
+ protected _provider: string | undefined;
14
+ protected _timeout: number;
15
+ protected _readyState: WalletReadyState;
16
+ protected _connecting: boolean;
17
+ protected _wallet: any | null;
18
+ constructor({ timeout }?: HippoWalletAdapterConfig);
19
+ get publicKey(): PublicKey | null;
20
+ get connecting(): boolean;
21
+ get connected(): boolean;
22
+ get readyState(): WalletReadyState;
23
+ handleMessage: (e: MessageEvent<{
24
+ id: number;
25
+ method: string;
26
+ address?: {
27
+ hexString: MaybeHexString;
28
+ };
29
+ error?: string;
30
+ }>) => void;
31
+ connect(): Promise<void>;
32
+ disconnect(): Promise<void>;
33
+ signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
34
+ signAndSubmitTransaction(transaction: TransactionPayload): Promise<PendingTransaction>;
35
+ private _beforeUnload;
36
+ }
37
+ //# sourceMappingURL=HippoWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HippoWallet.d.ts","sourceRoot":"","sources":["../../src/WalletAdatpers/HippoWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAE3F,eAAO,MAAM,eAAe,4BAA+C,CAAC;AAE5E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,IAAI,6BAAmB;IAEvB,GAAG,SAAuC;IAE1C,IAAI,SAAqF;IAEzF,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE3B,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAA8B;IAErE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAE/B,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC;gBAElB,EAGV,OAAe,EAChB,GAAE,wBAA6B;IAWhC,IAAI,SAAS,IAAI,SAAS,GAAG,IAAI,CAEhC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,UAAU,IAAI,gBAAgB,CAEjC;IAED,aAAa,MACR,aAAa;QACd,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE;YACR,SAAS,EAAE,cAAc,CAAC;SAC3B,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,KACD,IAAI,CAgBL;IAEI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0BnF,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0B5F,OAAO,CAAC,aAAa,CAEnB;CACH"}