@manahippo/aptos-wallet-adapter 0.1.10 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -3,24 +3,208 @@
3
3
  React `WalletProvider` supporting loads of aptos wallets.
4
4
 
5
5
  Supports:
6
+
6
7
  - [Aptos official wallet](https://github.com/aptos-labs/aptos-core/releases/tag/wallet-v0.1.1)
7
8
  - [Martian wallet](https://martianwallet.xyz/)
8
9
  - [Fewcha wallet](https://fewcha.app/)
9
10
  - [Hippo wallet](https://github.com/hippospace/hippo-wallet)
10
11
  - [Hippo web wallet](https://hippo-wallet-test.web.app/)
11
12
 
12
-
13
13
  Working on (PR welcome):
14
14
 
15
15
  - [Nightly wallet](https://chrome.google.com/webstore/detail/nightly/injggoambcadlfkkjcgdfbejanmgfgfm/related?hl=en&authuser=0)
16
16
  - [Pontem wallet](https://pontem.network/)
17
17
 
18
+ # Installation
19
+
20
+ with `yarn`
21
+
22
+ ```
23
+ yarn add @manahippo/aptos-wallet-adapter
24
+ ```
25
+
26
+ with `npm`
18
27
 
19
- # Frontend Integration
28
+ ```
29
+ npm install @manahippo/aptos-wallet-adapter
30
+ ```
31
+
32
+ # Examples
33
+
34
+ ## **Frontend Integration**
20
35
 
21
36
  Here's an example of how we integrate the adapter into [hippo's frontend](https://github.com/hippospace/hippo-frontend/blob/main/src/Providers.tsx):
22
37
 
38
+ ### **Wallet integration**
39
+
40
+ Wallets source code [here](https://github.com/hippospace/aptos-wallet-adapter/tree/main/src/WalletAdatpers).
41
+
42
+ # Use React Provider
43
+
44
+ ```
45
+ import React from "react";
46
+ import {
47
+ WalletProvider,
48
+ HippoWalletAdapter,
49
+ AptosWalletAdapter,
50
+ HippoExtensionWalletAdapter,
51
+ MartianWalletAdapter,
52
+ FewchaWalletAdapter
53
+ } from '@manahippo/aptos-wallet-adapter';
54
+
55
+ const wallets = () => [
56
+ new HippoWalletAdapter(),
57
+ new MartianWalletAdapter(),
58
+ new AptosWalletAdapter(),
59
+ new FewchaWalletAdapter(),
60
+ new HippoExtensionWalletAdapter()
61
+ ];
62
+
63
+ const App: React.FC = () => {
64
+ return (
65
+ <WalletProvider
66
+ wallets={wallets}
67
+ onError={(error: Error) => {
68
+ console.log('Handle Error Message', error)
69
+ }}>
70
+ {/* your website */}
71
+ </WalletProvider>
72
+ );
73
+ };
74
+
75
+ export default App;
76
+ ```
77
+
78
+ # Web3 Hook
79
+
80
+ ```
81
+ import { useWallet } from '@manahippo/aptos-wallet-adapter';
82
+
83
+ const { connected, account, ...rest } = useWallet();
84
+
85
+ /*
86
+ ** Properties available: **
87
+
88
+ wallets: Wallet[]; - Array of wallets
89
+ wallet: Wallet | null; - Selected wallet
90
+ account(): AccountKeys | null; - Wallet info: address, publicKey, authKey
91
+ connected: boolean; - check the website is connected yet
92
+ connect(walletName: string): Promise<void>; - trigger connect popup
93
+ disconnect(): Promise<void>; - trigger disconnect action
94
+ signAndSubmitTransaction(
95
+ transaction: TransactionPayload
96
+ ): Promise<PendingTransaction>; - function to sign and submit the transaction to chain
97
+ */
98
+ ```
99
+
100
+ # Connect & Disconnect
101
+
102
+ ```
103
+ const { wallets, connect, disconnect, isConnected } = useWallet();
104
+ const wallet = 'Aptos Wallet' // Name can be found in the adapters files in https://github.com/hippospace/aptos-wallet-adapter/tree/main/src/WalletAdatpers
105
+
106
+ if (!isConnected) {
107
+ return (
108
+ <Button
109
+ onClick={() => {
110
+ connect(wallet);
111
+ }}
112
+ >
113
+ Connect
114
+ </Button>
115
+ );
116
+ } else {
117
+ return (
118
+ <Button
119
+ onClick={() => {
120
+ disconnect();
121
+ }}
122
+ >
123
+ Disconnect
124
+ </Button>
125
+ );
126
+ }
127
+ ```
128
+
129
+ # Hippo Wallet Client
130
+
131
+ ```
132
+ import { HippoSwapClient, HippoWalletClient } from '@manahippo/hippo-sdk';
133
+ import { getParserRepo } from '@manahippo/hippo-sdk';
134
+
135
+ export const hippoWalletClient = async (account: ActiveAptosWallet) => {
136
+ if (!account) return undefined;
137
+ const { netConf } = readConfig();
138
+ const repo = getParserRepo();
139
+ const walletClient = await HippoWalletClient.createInTwoCalls(
140
+ netConf,
141
+ aptosClient,
142
+ repo,
143
+ account
144
+ );
145
+
146
+ return walletClient;
147
+ };
148
+ ```
149
+
150
+ # Hippo Swap Client
151
+
152
+ ```
153
+ import { HippoSwapClient, HippoWalletClient } from '@manahippo/hippo-sdk';
154
+ import { getParserRepo } from '@manahippo/hippo-sdk/';
155
+
156
+ export const hippoSwapClient = async () => {
157
+ const { netConf } = readConfig();
158
+ const repo = getParserRepo();
159
+ const swapClient = await HippoSwapClient.createInOneCall(netConf, aptosClient, repo);
160
+
161
+ return swapClient;
162
+ };
163
+ ```
164
+
165
+ # Submit and sign transaction
166
+
167
+ **Request faucet**
168
+
169
+ ```
170
+ const { signAndSubmitTransaction } = useWallet();
171
+
172
+ const payload = await hippoWallet?.makeFaucetMintToPayload(uiAmtUsed, symbol);
173
+ if (payload) {
174
+ const result = await signAndSubmitTransaction(payload);
175
+ if (result) {
176
+ message.success('Transaction Success');
177
+ await hippoWallet?.refreshStores();
178
+ }
179
+ }
180
+ ```
181
+
182
+ **Swap Token**
183
+
184
+ ```
185
+ const bestQuote = await hippoSwap.getBestQuoteBySymbols(fromSymbol, toSymbol, uiAmtIn, 3);
186
+ if (!bestQuote) {
187
+ throw new Error(`No route exists from ${fromSymbol} to ${toSymbol}`);
188
+ }
189
+ const payload = await bestQuote.bestRoute.makeSwapPayload(uiAmtIn, uiAmtOutMin);
190
+ const result = await signAndSubmitTransaction(payload);
191
+ if (result) {
192
+ message.success('Transaction Success');
193
+ setRefresh(true);
194
+ }
195
+ ```
23
196
 
24
- # Wallet integration
197
+ **Deposit Transaction**
25
198
 
26
- docs incoming, but you can find examples [here](https://github.com/hippospace/aptos-wallet-adapter/tree/main/src/WalletAdatpers).
199
+ ```
200
+ const pool = hippoSwap.getDirectPoolsBySymbolsAndPoolType(lhsSymbol, rhsSymbol, poolType);
201
+ if (pool.length === 0) {
202
+ throw new Error('Desired pool does not exist');
203
+ }
204
+ const payload = await pool[0].makeAddLiquidityPayload(lhsUiAmt, rhsUiAmt);
205
+ const result = await signAndSubmitTransaction(payload);
206
+ if (result) {
207
+ message.success('Transaction Success');
208
+ setRefresh(true);
209
+ }
210
+ ```
@@ -1,5 +1,5 @@
1
1
  import { PendingTransaction, SubmitTransactionRequest, TransactionPayload } from 'aptos/dist/api/data-contracts';
2
- import { Web3ProviderStandard } from '@fewcha/web3';
2
+ import { Web3ProviderType } from '@fewcha/web3';
3
3
  import { AccountKeys, BaseWalletAdapter, WalletName, WalletReadyState } from './BaseAdapter';
4
4
  export declare const FewchaWalletName: WalletName<"Fewcha Wallet">;
5
5
  export interface FewchaAdapterConfig {
@@ -10,7 +10,7 @@ export declare class FewchaWalletAdapter extends BaseWalletAdapter {
10
10
  name: WalletName<"Fewcha Wallet">;
11
11
  url: string;
12
12
  icon: string;
13
- protected _provider: Web3ProviderStandard | undefined;
13
+ protected _provider: Web3ProviderType | undefined;
14
14
  protected _timeout: number;
15
15
  protected _readyState: WalletReadyState;
16
16
  protected _connecting: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FewchaWallet.d.ts","sourceRoot":"","sources":["../../src/WalletAdapters/FewchaWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAQvC,OAAa,EAAgB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EACL,WAAW,EACX,iBAAiB,EAGjB,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,gBAAgB,6BAAiD,CAAC;AAK/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,IAAI,8BAAoB;IAExB,GAAG,SAAyB;IAE5B,IAAI,SAAwE;IAE5E,SAAS,CAAC,SAAS,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAGtD,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,mBAAwB;IA+C3B,IAAI,aAAa,IAAI,WAAW,CAM/B;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;IAsBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0BnF,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwB7F"}
1
+ {"version":3,"file":"FewchaWallet.d.ts","sourceRoot":"","sources":["../../src/WalletAdapters/FewchaWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAQvC,OAAa,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EACL,WAAW,EACX,iBAAiB,EAGjB,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,gBAAgB,6BAAiD,CAAC;AAK/E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,IAAI,8BAAoB;IAExB,GAAG,SAAyB;IAE5B,IAAI,SAAwE;IAE5E,SAAS,CAAC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAGlD,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,mBAAwB;IAgD3B,IAAI,aAAa,IAAI,WAAW,CAM/B;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;IAsBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0BnF,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwB7F"}
@@ -72,13 +72,11 @@ class FewchaWalletAdapter extends BaseAdapter_1.BaseWalletAdapter {
72
72
  }
73
73
  window.addEventListener('aptos#connected', () => __awaiter(this, void 0, void 0, function* () {
74
74
  var _a, _b;
75
- const publicKey = yield ((_a = this._provider) === null || _a === void 0 ? void 0 : _a.account());
75
+ const publicAccount = yield ((_a = this._provider) === null || _a === void 0 ? void 0 : _a.account());
76
76
  const isConnected = yield ((_b = this._provider) === null || _b === void 0 ? void 0 : _b.isConnected());
77
- if (publicKey && isConnected) {
78
- this._wallet = {
79
- connected: isConnected,
80
- publicKey: publicKey
81
- };
77
+ console.log('loginnnn>>', publicAccount, publicAccount === null || publicAccount === void 0 ? void 0 : publicAccount.publicKey);
78
+ if ((publicAccount === null || publicAccount === void 0 ? void 0 : publicAccount.publicKey) && isConnected) {
79
+ this._wallet = Object.assign({ connected: isConnected }, publicAccount);
82
80
  this.emit('connect', this._wallet.publicKey);
83
81
  }
84
82
  }));
@@ -176,7 +174,7 @@ class FewchaWalletAdapter extends BaseAdapter_1.BaseWalletAdapter {
176
174
  throw new errors_1.WalletNotConnectedError();
177
175
  try {
178
176
  const provider = this._provider;
179
- const tx = yield aptosConstants_1.aptosClient.generateTransaction(wallet.publicKey, transaction);
177
+ const tx = yield aptosConstants_1.aptosClient.generateTransaction(wallet.address, transaction);
180
178
  yield (provider === null || provider === void 0 ? void 0 : provider.signAndSubmitTransaction(tx));
181
179
  const promise = yield new Promise((resolve, reject) => {
182
180
  this.once('success', resolve);
@@ -1 +1 @@
1
- {"version":3,"file":"FewchaWallet.js","sourceRoot":"","sources":["../../src/WalletAdapters/FewchaWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FewchaWallet.js","sourceRoot":"","sources":["../../src/WalletAdapters/FewchaWallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { PendingTransaction, SubmitTransactionRequest, TransactionPayload } from 'aptos/dist/api/data-contracts';
2
+ import { AccountKeys, BaseWalletAdapter, WalletName, WalletReadyState } from './BaseAdapter';
3
+ interface INightlyWallet {
4
+ requestId: number;
5
+ connect: (onDisconnect?: () => void, eager?: boolean) => Promise<any>;
6
+ account: () => Promise<string>;
7
+ isConnected: () => Promise<boolean>;
8
+ signAndSubmitTransaction(transaction: any): Promise<void>;
9
+ signTransaction(transaction: any): Promise<any>;
10
+ disconnect(): Promise<void>;
11
+ }
12
+ export declare const NightlyWalletName: WalletName<"Nightly Wallet">;
13
+ export interface NightlyWalletAdapterConfig {
14
+ provider?: INightlyWallet;
15
+ timeout?: number;
16
+ }
17
+ export declare class NightlyWalletAdapter extends BaseWalletAdapter {
18
+ name: WalletName<"Nightly Wallet">;
19
+ url: string;
20
+ icon: string;
21
+ protected _provider: INightlyWallet | undefined;
22
+ protected _timeout: number;
23
+ protected _readyState: WalletReadyState;
24
+ protected _connecting: boolean;
25
+ protected _wallet: {
26
+ publicKey?: string;
27
+ address?: string;
28
+ authKey?: string;
29
+ isConnected: boolean;
30
+ } | null;
31
+ constructor({ timeout }?: NightlyWalletAdapterConfig);
32
+ get publicAccount(): AccountKeys;
33
+ get connecting(): boolean;
34
+ get connected(): boolean;
35
+ get readyState(): WalletReadyState;
36
+ connect(): Promise<void>;
37
+ disconnect(): Promise<void>;
38
+ signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest>;
39
+ signAndSubmitTransaction(tempTransaction: TransactionPayload): Promise<PendingTransaction>;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=NightlyWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NightlyWallet.d.ts","sourceRoot":"","sources":["../../src/WalletAdapters/NightlyWallet.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAElB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAevC,OAAO,EACL,WAAW,EAGX,iBAAiB,EAGjB,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,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,GAAG,CAAC,CAAC;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAUD,eAAO,MAAM,iBAAiB,8BAAmD,CAAC;AAElF,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,IAAI,+BAAqB;IAEzB,GAAG,SAC6G;IAEhH,IAAI,SAC4J;IAEhK,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IAGhD,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;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,IAAI,CAAC;gBAEG,EAGV,OAAe,EAChB,GAAE,0BAA+B;IAqBlC,IAAI,aAAa,IAAI,WAAW,CAM/B;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;IA+BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,eAAe,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAsBnF,wBAAwB,CAAC,eAAe,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2DjG"}
@@ -0,0 +1,201 @@
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.NightlyWalletAdapter = exports.NightlyWalletName = void 0;
13
+ const aptos_1 = require("aptos");
14
+ const aptos_types_1 = require("aptos/dist/transaction_builder/aptos_types");
15
+ const bcs_1 = require("aptos/dist/transaction_builder/bcs");
16
+ const aptosConstants_1 = require("../config/aptosConstants");
17
+ const errors_1 = require("../WalletProviders/errors");
18
+ const BaseAdapter_1 = require("./BaseAdapter");
19
+ exports.NightlyWalletName = 'Nightly Wallet';
20
+ class NightlyWalletAdapter extends BaseAdapter_1.BaseWalletAdapter {
21
+ constructor({
22
+ // provider,
23
+ // network = WalletAdapterNetwork.Mainnet,
24
+ timeout = 10000 } = {}) {
25
+ var _a;
26
+ super();
27
+ this.name = exports.NightlyWalletName;
28
+ this.url = 'https://chrome.google.com/webstore/detail/nightly/injggoambcadlfkkjcgdfbejanmgfgfm/related?hl=en&authuser=0';
29
+ this.icon = 'https://lh3.googleusercontent.com/Ha38j09tA-70EiZ17pculpj1KUKDP07ytX4DJx_fumDfod_X2nRTiUg2Y9tDwRBs5jDj-gu52hwaPYVPgq1xAuFA1Q=w128-h128-e365-rj-sc0x00ffffff';
30
+ this._readyState = typeof window === 'undefined' || typeof document === 'undefined'
31
+ ? BaseAdapter_1.WalletReadyState.Unsupported
32
+ : BaseAdapter_1.WalletReadyState.NotDetected;
33
+ this._provider = (_a = window.nightly) === null || _a === void 0 ? void 0 : _a.aptos;
34
+ // this._network = network;
35
+ this._timeout = timeout;
36
+ this._connecting = false;
37
+ this._wallet = null;
38
+ if (this._readyState !== BaseAdapter_1.WalletReadyState.Unsupported) {
39
+ (0, BaseAdapter_1.scopePollingDetectionStrategy)(() => {
40
+ var _a;
41
+ if ((_a = window.nightly) === null || _a === void 0 ? void 0 : _a.aptos) {
42
+ this._readyState = BaseAdapter_1.WalletReadyState.Installed;
43
+ this.emit('readyStateChange', this._readyState);
44
+ return true;
45
+ }
46
+ return false;
47
+ });
48
+ }
49
+ }
50
+ get publicAccount() {
51
+ var _a, _b, _c;
52
+ return {
53
+ publicKey: ((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.publicKey) || null,
54
+ address: ((_b = this._wallet) === null || _b === void 0 ? void 0 : _b.address) || null,
55
+ authKey: ((_c = this._wallet) === null || _c === void 0 ? void 0 : _c.authKey) || null
56
+ };
57
+ }
58
+ get connecting() {
59
+ return this._connecting;
60
+ }
61
+ get connected() {
62
+ var _a;
63
+ return !!((_a = this._wallet) === null || _a === void 0 ? void 0 : _a.isConnected);
64
+ }
65
+ get readyState() {
66
+ return this._readyState;
67
+ }
68
+ connect() {
69
+ var _a;
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ try {
72
+ if (this.connected || this.connecting)
73
+ return;
74
+ if (!(this._readyState === BaseAdapter_1.WalletReadyState.Loadable ||
75
+ this._readyState === BaseAdapter_1.WalletReadyState.Installed))
76
+ throw new errors_1.WalletNotReadyError();
77
+ this._connecting = true;
78
+ const provider = this._provider || ((_a = window.nightly) === null || _a === void 0 ? void 0 : _a.aptos);
79
+ const publicKey = yield (provider === null || provider === void 0 ? void 0 : provider.connect(() => {
80
+ console.log('Trigger disconnect Aptos');
81
+ }));
82
+ this._wallet = {
83
+ publicKey: publicKey === null || publicKey === void 0 ? void 0 : publicKey.asString(),
84
+ address: publicKey === null || publicKey === void 0 ? void 0 : publicKey.address(),
85
+ isConnected: true
86
+ };
87
+ this.emit('connect', this._wallet.publicKey || '');
88
+ }
89
+ catch (error) {
90
+ this.emit('error', error);
91
+ throw error;
92
+ }
93
+ finally {
94
+ this._connecting = false;
95
+ }
96
+ });
97
+ }
98
+ disconnect() {
99
+ var _a;
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ const wallet = this._wallet;
102
+ if (wallet) {
103
+ this._wallet = null;
104
+ try {
105
+ const provider = this._provider || ((_a = window.nightly) === null || _a === void 0 ? void 0 : _a.aptos);
106
+ yield (provider === null || provider === void 0 ? void 0 : provider.disconnect());
107
+ }
108
+ catch (error) {
109
+ this.emit('error', new errors_1.WalletDisconnectionError(error === null || error === void 0 ? void 0 : error.message, error));
110
+ }
111
+ }
112
+ this.emit('disconnect');
113
+ });
114
+ }
115
+ signTransaction(transaction) {
116
+ var _a;
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ try {
119
+ const wallet = this._wallet;
120
+ if (!wallet)
121
+ throw new errors_1.WalletNotConnectedError();
122
+ try {
123
+ const provider = this._provider || ((_a = window.nightly) === null || _a === void 0 ? void 0 : _a.aptos);
124
+ const response = yield (provider === null || provider === void 0 ? void 0 : provider.signTransaction(transaction));
125
+ if (response) {
126
+ return response;
127
+ }
128
+ else {
129
+ throw new Error('Transaction failed');
130
+ }
131
+ }
132
+ catch (error) {
133
+ throw new errors_1.WalletSignTransactionError(error === null || error === void 0 ? void 0 : error.message, error);
134
+ }
135
+ }
136
+ catch (error) {
137
+ this.emit('error', error);
138
+ throw error;
139
+ }
140
+ });
141
+ }
142
+ signAndSubmitTransaction(tempTransaction) {
143
+ var _a;
144
+ return __awaiter(this, void 0, void 0, function* () {
145
+ try {
146
+ const wallet = this._wallet;
147
+ if (!wallet)
148
+ throw new errors_1.WalletNotConnectedError();
149
+ try {
150
+ const provider = this._provider || ((_a = window.nightly) === null || _a === void 0 ? void 0 : _a.aptos);
151
+ const client = aptosConstants_1.aptosClient;
152
+ const [{ sequence_number: sequnceNumber }, chainId] = yield Promise.all([
153
+ client.getAccount(wallet.address || ''),
154
+ client.getChainId()
155
+ ]);
156
+ const transaction = tempTransaction;
157
+ const [txAddress, module, funcName] = transaction.function.split('::');
158
+ const token = new aptos_types_1.TypeTagStruct(aptos_types_1.StructTag.fromString(transaction.type_arguments[0]));
159
+ const argts = transaction.arguments.map((arg) => {
160
+ if (typeof arg === 'string') {
161
+ return (0, bcs_1.bcsSerializeUint64)(parseInt(arg));
162
+ }
163
+ else if (typeof arg === 'boolean') {
164
+ const serializer = new aptos_1.BCS.Serializer();
165
+ serializer.serializeBool(arg);
166
+ return serializer.getBytes();
167
+ }
168
+ else if (typeof arg === 'number') {
169
+ return (0, bcs_1.bcsSerializeUint64)(arg);
170
+ }
171
+ else {
172
+ return arg;
173
+ }
174
+ });
175
+ console.log('txnpayload>>', transaction.arguments, argts);
176
+ const txnPayload = new aptos_types_1.TransactionPayloadScriptFunction(aptos_types_1.ScriptFunction.natural(`${txAddress}::${module}`, funcName, [token], [...argts]));
177
+ const rawTxn = new aptos_1.TxnBuilderTypes.RawTransaction(aptos_1.TxnBuilderTypes.AccountAddress.fromHex(wallet.address || ''), BigInt(sequnceNumber), txnPayload, BigInt(1000), BigInt(1), BigInt(Math.floor(Date.now() / 1000) + 10), new aptos_1.TxnBuilderTypes.ChainId(chainId));
178
+ const bcsTxn = yield (provider === null || provider === void 0 ? void 0 : provider.signTransaction(rawTxn));
179
+ const response = yield aptosConstants_1.aptosClient.submitSignedBCSTransaction(bcsTxn);
180
+ if (response) {
181
+ console.log('tx response>>>', response);
182
+ return response;
183
+ }
184
+ else {
185
+ throw new Error('Transaction failed');
186
+ }
187
+ }
188
+ catch (error) {
189
+ const errMsg = error instanceof Error ? error.message : error.response.data.message;
190
+ throw new errors_1.WalletSignTransactionError(errMsg);
191
+ }
192
+ }
193
+ catch (error) {
194
+ this.emit('error', error);
195
+ throw error;
196
+ }
197
+ });
198
+ }
199
+ }
200
+ exports.NightlyWalletAdapter = NightlyWalletAdapter;
201
+ //# sourceMappingURL=NightlyWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NightlyWallet.js","sourceRoot":"","sources":["../../src/WalletAdapters/NightlyWallet.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export * from './HippoWallet';
5
5
  export * from './MartianWallet';
6
6
  export * from './MultiMaskWallet';
7
7
  export * from './FewchaWallet';
8
+ export * from './NightlyWallet';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/WalletAdapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/WalletAdapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -21,4 +21,5 @@ __exportStar(require("./HippoWallet"), exports);
21
21
  __exportStar(require("./MartianWallet"), exports);
22
22
  __exportStar(require("./MultiMaskWallet"), exports);
23
23
  __exportStar(require("./FewchaWallet"), exports);
24
+ __exportStar(require("./NightlyWallet"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/WalletAdapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,yDAAuC;AACvC,gDAA8B;AAC9B,kDAAgC;AAChC,oDAAkC;AAClC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/WalletAdapters/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,yDAAuC;AACvC,gDAA8B;AAC9B,kDAAgC;AAChC,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC"}
@@ -1,9 +1,11 @@
1
- import { AptosClient } from 'aptos';
1
+ import { AptosClient, FaucetClient } from 'aptos';
2
2
  export declare const WEBWALLET_URL = "https://hippo-wallet-test.web.app";
3
3
  export declare const LOCAL_NODE_URL = "http://127.0.0.1:8080";
4
4
  export declare const DEVNET_NODE_URL = "https://fullnode.devnet.aptoslabs.com";
5
5
  export declare const LOCAL_FAUCET_URL = "http://127.0.0.1:8000";
6
6
  export declare const DEVNET_FAUCET_URL = "https://faucet.devnet.aptoslabs.com";
7
7
  export declare const NODE_URL = "https://fullnode.devnet.aptoslabs.com";
8
+ export declare const FAUCET_URL = "https://faucet.devnet.aptoslabs.com";
8
9
  export declare const aptosClient: AptosClient;
10
+ export declare const faucetClient: FaucetClient;
9
11
  //# sourceMappingURL=aptosConstants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aptosConstants.d.ts","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,eAAO,MAAM,aAAa,sCAAsC,CAAC;AAGjE,eAAO,MAAM,cAAc,0BAA0B,CAAC;AACtD,eAAO,MAAM,eAAe,0CAA0C,CAAC;AACvE,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAEvE,eAAO,MAAM,QAAQ,0CAAkB,CAAC;AACxC,eAAO,MAAM,WAAW,aAA4B,CAAC"}
1
+ {"version":3,"file":"aptosConstants.d.ts","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAElD,eAAO,MAAM,aAAa,sCAAsC,CAAC;AAGjE,eAAO,MAAM,cAAc,0BAA0B,CAAC;AACtD,eAAO,MAAM,eAAe,0CAA0C,CAAC;AACvE,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AACxD,eAAO,MAAM,iBAAiB,wCAAwC,CAAC;AAEvE,eAAO,MAAM,QAAQ,0CAAkB,CAAC;AACxC,eAAO,MAAM,UAAU,wCAAoB,CAAC;AAE5C,eAAO,MAAM,WAAW,aAA4B,CAAC;AACrD,eAAO,MAAM,YAAY,cAAyC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aptosClient = exports.NODE_URL = exports.DEVNET_FAUCET_URL = exports.LOCAL_FAUCET_URL = exports.DEVNET_NODE_URL = exports.LOCAL_NODE_URL = exports.WEBWALLET_URL = void 0;
3
+ exports.faucetClient = exports.aptosClient = exports.FAUCET_URL = exports.NODE_URL = exports.DEVNET_FAUCET_URL = exports.LOCAL_FAUCET_URL = exports.DEVNET_NODE_URL = exports.LOCAL_NODE_URL = exports.WEBWALLET_URL = void 0;
4
4
  const aptos_1 = require("aptos");
5
5
  exports.WEBWALLET_URL = 'https://hippo-wallet-test.web.app';
6
6
  // export const WEBWALLET_URL = 'http://localhost:3030';
@@ -9,5 +9,7 @@ exports.DEVNET_NODE_URL = 'https://fullnode.devnet.aptoslabs.com';
9
9
  exports.LOCAL_FAUCET_URL = 'http://127.0.0.1:8000';
10
10
  exports.DEVNET_FAUCET_URL = 'https://faucet.devnet.aptoslabs.com';
11
11
  exports.NODE_URL = exports.DEVNET_NODE_URL;
12
+ exports.FAUCET_URL = exports.DEVNET_FAUCET_URL;
12
13
  exports.aptosClient = new aptos_1.AptosClient(exports.NODE_URL);
14
+ exports.faucetClient = new aptos_1.FaucetClient(exports.NODE_URL, exports.FAUCET_URL);
13
15
  //# sourceMappingURL=aptosConstants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aptosConstants.js","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAEvB,QAAA,aAAa,GAAG,mCAAmC,CAAC;AACjE,wDAAwD;AAE3C,QAAA,cAAc,GAAG,uBAAuB,CAAC;AACzC,QAAA,eAAe,GAAG,uCAAuC,CAAC;AAC1D,QAAA,gBAAgB,GAAG,uBAAuB,CAAC;AAC3C,QAAA,iBAAiB,GAAG,qCAAqC,CAAC;AAE1D,QAAA,QAAQ,GAAG,uBAAe,CAAC;AAC3B,QAAA,WAAW,GAAG,IAAI,mBAAW,CAAC,gBAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"aptosConstants.js","sourceRoot":"","sources":["../../src/config/aptosConstants.ts"],"names":[],"mappings":";;;AAAA,iCAAkD;AAErC,QAAA,aAAa,GAAG,mCAAmC,CAAC;AACjE,wDAAwD;AAE3C,QAAA,cAAc,GAAG,uBAAuB,CAAC;AACzC,QAAA,eAAe,GAAG,uCAAuC,CAAC;AAC1D,QAAA,gBAAgB,GAAG,uBAAuB,CAAC;AAC3C,QAAA,iBAAiB,GAAG,qCAAqC,CAAC;AAE1D,QAAA,QAAQ,GAAG,uBAAe,CAAC;AAC3B,QAAA,UAAU,GAAG,yBAAiB,CAAC;AAE/B,QAAA,WAAW,GAAG,IAAI,mBAAW,CAAC,gBAAQ,CAAC,CAAC;AACxC,QAAA,YAAY,GAAG,IAAI,oBAAY,CAAC,gBAAQ,EAAE,kBAAU,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manahippo/aptos-wallet-adapter",
3
- "version": "0.1.10",
3
+ "version": "0.1.13",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
6
6
  "files": [
@@ -18,7 +18,7 @@
18
18
  "@types/jest": "^27.0.1",
19
19
  "@types/node": "^16.7.13",
20
20
  "@types/react": "^18.0.0",
21
- "aptos": "^0.0.20",
21
+ "aptos": "^1.2.0",
22
22
  "eslint-config-airbnb-typescript": "^17.0.0",
23
23
  "eslint-config-prettier": "^8.5.0",
24
24
  "eslint-plugin-prettier": "^4.2.1",
@@ -29,6 +29,6 @@
29
29
  "typescript": "^4.7.4"
30
30
  },
31
31
  "dependencies": {
32
- "@fewcha/web3": "^0.0.2"
32
+ "@fewcha/web3": "^0.1.4"
33
33
  }
34
34
  }
@@ -10,7 +10,7 @@ import {
10
10
  WalletNotReadyError,
11
11
  WalletSignTransactionError
12
12
  } from '../WalletProviders/errors';
13
- import Web3, { Web3Provider, Web3ProviderStandard } from '@fewcha/web3';
13
+ import Web3, { Web3Provider, Web3ProviderType } from '@fewcha/web3';
14
14
  import {
15
15
  AccountKeys,
16
16
  BaseWalletAdapter,
@@ -38,7 +38,7 @@ export class FewchaWalletAdapter extends BaseWalletAdapter {
38
38
 
39
39
  icon = 'https://miro.medium.com/fit/c/176/176/1*a0WaY-q7gjCRiuryRG6TkQ.png';
40
40
 
41
- protected _provider: Web3ProviderStandard | undefined;
41
+ protected _provider: Web3ProviderType | undefined;
42
42
 
43
43
  // protected _network: WalletAdapterNetwork;
44
44
  protected _timeout: number;
@@ -80,12 +80,13 @@ export class FewchaWalletAdapter extends BaseWalletAdapter {
80
80
  }
81
81
 
82
82
  window.addEventListener('aptos#connected', async () => {
83
- const publicKey = await this._provider?.account();
83
+ const publicAccount = await this._provider?.account();
84
84
  const isConnected = await this._provider?.isConnected();
85
- if (publicKey && isConnected) {
85
+ console.log('loginnnn>>', publicAccount, publicAccount?.publicKey);
86
+ if (publicAccount?.publicKey && isConnected) {
86
87
  this._wallet = {
87
88
  connected: isConnected,
88
- publicKey: publicKey
89
+ ...publicAccount
89
90
  };
90
91
  this.emit('connect', this._wallet.publicKey);
91
92
  }
@@ -189,7 +190,7 @@ export class FewchaWalletAdapter extends BaseWalletAdapter {
189
190
 
190
191
  try {
191
192
  const provider = this._provider;
192
- const tx = await aptosClient.generateTransaction(wallet.publicKey, transaction);
193
+ const tx = await aptosClient.generateTransaction(wallet.address, transaction);
193
194
  await provider?.signAndSubmitTransaction(tx);
194
195
 
195
196
  const promise = await new Promise((resolve, reject) => {
@@ -0,0 +1,260 @@
1
+ import { TxnBuilderTypes, BCS } from 'aptos';
2
+ import {
3
+ PendingTransaction,
4
+ ScriptFunctionPayload,
5
+ SubmitTransactionRequest,
6
+ TransactionPayload
7
+ } from 'aptos/dist/api/data-contracts';
8
+ import {
9
+ ScriptFunction,
10
+ StructTag,
11
+ TransactionPayloadScriptFunction,
12
+ TypeTagStruct
13
+ } from 'aptos/dist/transaction_builder/aptos_types';
14
+ import { bcsSerializeUint64, bcsToBytes, Seq } from 'aptos/dist/transaction_builder/bcs';
15
+ import { aptosClient } from '../config/aptosConstants';
16
+ import {
17
+ WalletDisconnectionError,
18
+ WalletNotConnectedError,
19
+ WalletNotReadyError,
20
+ WalletSignTransactionError
21
+ } from '../WalletProviders/errors';
22
+ import {
23
+ AccountKeys,
24
+ Address,
25
+ AuthKey,
26
+ BaseWalletAdapter,
27
+ PublicKey,
28
+ scopePollingDetectionStrategy,
29
+ WalletName,
30
+ WalletReadyState
31
+ } from './BaseAdapter';
32
+
33
+ interface INightlyWallet {
34
+ requestId: number;
35
+ connect: (onDisconnect?: () => void, eager?: boolean) => Promise<any>;
36
+ account: () => Promise<string>;
37
+ isConnected: () => Promise<boolean>;
38
+ signAndSubmitTransaction(transaction: any): Promise<void>;
39
+ signTransaction(transaction: any): Promise<any>;
40
+ disconnect(): Promise<void>;
41
+ }
42
+
43
+ interface NightlyWindow extends Window {
44
+ nightly?: {
45
+ aptos: INightlyWallet;
46
+ };
47
+ }
48
+
49
+ declare const window: NightlyWindow;
50
+
51
+ export const NightlyWalletName = 'Nightly Wallet' as WalletName<'Nightly Wallet'>;
52
+
53
+ export interface NightlyWalletAdapterConfig {
54
+ provider?: INightlyWallet;
55
+ // network?: WalletAdapterNetwork;
56
+ timeout?: number;
57
+ }
58
+
59
+ export class NightlyWalletAdapter extends BaseWalletAdapter {
60
+ name = NightlyWalletName;
61
+
62
+ url =
63
+ 'https://chrome.google.com/webstore/detail/nightly/injggoambcadlfkkjcgdfbejanmgfgfm/related?hl=en&authuser=0';
64
+
65
+ icon =
66
+ 'https://lh3.googleusercontent.com/Ha38j09tA-70EiZ17pculpj1KUKDP07ytX4DJx_fumDfod_X2nRTiUg2Y9tDwRBs5jDj-gu52hwaPYVPgq1xAuFA1Q=w128-h128-e365-rj-sc0x00ffffff';
67
+
68
+ protected _provider: INightlyWallet | undefined;
69
+
70
+ // protected _network: WalletAdapterNetwork;
71
+ protected _timeout: number;
72
+
73
+ protected _readyState: WalletReadyState =
74
+ typeof window === 'undefined' || typeof document === 'undefined'
75
+ ? WalletReadyState.Unsupported
76
+ : WalletReadyState.NotDetected;
77
+
78
+ protected _connecting: boolean;
79
+
80
+ protected _wallet: {
81
+ publicKey?: string;
82
+ address?: string;
83
+ authKey?: string;
84
+ isConnected: boolean;
85
+ } | null;
86
+
87
+ constructor({
88
+ // provider,
89
+ // network = WalletAdapterNetwork.Mainnet,
90
+ timeout = 10000
91
+ }: NightlyWalletAdapterConfig = {}) {
92
+ super();
93
+
94
+ this._provider = window.nightly?.aptos;
95
+ // this._network = network;
96
+ this._timeout = timeout;
97
+ this._connecting = false;
98
+ this._wallet = null;
99
+
100
+ if (this._readyState !== WalletReadyState.Unsupported) {
101
+ scopePollingDetectionStrategy(() => {
102
+ if (window.nightly?.aptos) {
103
+ this._readyState = WalletReadyState.Installed;
104
+ this.emit('readyStateChange', this._readyState);
105
+ return true;
106
+ }
107
+ return false;
108
+ });
109
+ }
110
+ }
111
+
112
+ get publicAccount(): AccountKeys {
113
+ return {
114
+ publicKey: this._wallet?.publicKey || null,
115
+ address: this._wallet?.address || null,
116
+ authKey: this._wallet?.authKey || null
117
+ };
118
+ }
119
+
120
+ get connecting(): boolean {
121
+ return this._connecting;
122
+ }
123
+
124
+ get connected(): boolean {
125
+ return !!this._wallet?.isConnected;
126
+ }
127
+
128
+ get readyState(): WalletReadyState {
129
+ return this._readyState;
130
+ }
131
+
132
+ async connect(): Promise<void> {
133
+ try {
134
+ if (this.connected || this.connecting) return;
135
+ if (
136
+ !(
137
+ this._readyState === WalletReadyState.Loadable ||
138
+ this._readyState === WalletReadyState.Installed
139
+ )
140
+ )
141
+ throw new WalletNotReadyError();
142
+ this._connecting = true;
143
+
144
+ const provider = this._provider || window.nightly?.aptos;
145
+ const publicKey = await provider?.connect(() => {
146
+ console.log('Trigger disconnect Aptos');
147
+ });
148
+ this._wallet = {
149
+ publicKey: publicKey?.asString(),
150
+ address: publicKey?.address(),
151
+ isConnected: true
152
+ };
153
+
154
+ this.emit('connect', this._wallet.publicKey || '');
155
+ } catch (error: any) {
156
+ this.emit('error', error);
157
+ throw error;
158
+ } finally {
159
+ this._connecting = false;
160
+ }
161
+ }
162
+
163
+ async disconnect(): Promise<void> {
164
+ const wallet = this._wallet;
165
+ if (wallet) {
166
+ this._wallet = null;
167
+
168
+ try {
169
+ const provider = this._provider || window.nightly?.aptos;
170
+ await provider?.disconnect();
171
+ } catch (error: any) {
172
+ this.emit('error', new WalletDisconnectionError(error?.message, error));
173
+ }
174
+ }
175
+
176
+ this.emit('disconnect');
177
+ }
178
+
179
+ async signTransaction(transaction: TransactionPayload): Promise<SubmitTransactionRequest> {
180
+ try {
181
+ const wallet = this._wallet;
182
+ if (!wallet) throw new WalletNotConnectedError();
183
+
184
+ try {
185
+ const provider = this._provider || window.nightly?.aptos;
186
+ const response = await provider?.signTransaction(transaction);
187
+ if (response) {
188
+ return response;
189
+ } else {
190
+ throw new Error('Transaction failed');
191
+ }
192
+ } catch (error: any) {
193
+ throw new WalletSignTransactionError(error?.message, error);
194
+ }
195
+ } catch (error: any) {
196
+ this.emit('error', error);
197
+ throw error;
198
+ }
199
+ }
200
+
201
+ async signAndSubmitTransaction(tempTransaction: TransactionPayload): Promise<PendingTransaction> {
202
+ try {
203
+ const wallet = this._wallet;
204
+ if (!wallet) throw new WalletNotConnectedError();
205
+
206
+ try {
207
+ const provider = this._provider || window.nightly?.aptos;
208
+ const client = aptosClient;
209
+ const [{ sequence_number: sequnceNumber }, chainId] = await Promise.all([
210
+ client.getAccount(wallet.address || ''),
211
+ client.getChainId()
212
+ ]);
213
+ const transaction = tempTransaction as ScriptFunctionPayload;
214
+ const [txAddress, module, funcName] = transaction.function.split('::');
215
+ const token = new TypeTagStruct(StructTag.fromString(transaction.type_arguments[0]));
216
+ const argts = transaction.arguments.map((arg) => {
217
+ if (typeof arg === 'string') {
218
+ return bcsSerializeUint64(parseInt(arg));
219
+ } else if (typeof arg === 'boolean') {
220
+ const serializer = new BCS.Serializer();
221
+ serializer.serializeBool(arg);
222
+ return serializer.getBytes();
223
+ } else if (typeof arg === 'number') {
224
+ return bcsSerializeUint64(arg);
225
+ } else {
226
+ return arg;
227
+ }
228
+ });
229
+ console.log('txnpayload>>', transaction.arguments, argts);
230
+ const txnPayload = new TransactionPayloadScriptFunction(
231
+ ScriptFunction.natural(`${txAddress}::${module}`, funcName, [token], [...argts])
232
+ );
233
+
234
+ const rawTxn = new TxnBuilderTypes.RawTransaction(
235
+ TxnBuilderTypes.AccountAddress.fromHex(wallet.address || ''),
236
+ BigInt(sequnceNumber),
237
+ txnPayload,
238
+ BigInt(1000),
239
+ BigInt(1),
240
+ BigInt(Math.floor(Date.now() / 1000) + 10),
241
+ new TxnBuilderTypes.ChainId(chainId)
242
+ );
243
+ const bcsTxn = await provider?.signTransaction(rawTxn);
244
+ const response = await aptosClient.submitSignedBCSTransaction(bcsTxn);
245
+ if (response) {
246
+ console.log('tx response>>>', response);
247
+ return response;
248
+ } else {
249
+ throw new Error('Transaction failed');
250
+ }
251
+ } catch (error: any) {
252
+ const errMsg = error instanceof Error ? error.message : error.response.data.message;
253
+ throw new WalletSignTransactionError(errMsg);
254
+ }
255
+ } catch (error: any) {
256
+ this.emit('error', error);
257
+ throw error;
258
+ }
259
+ }
260
+ }
@@ -5,3 +5,4 @@ export * from './HippoWallet';
5
5
  export * from './MartianWallet';
6
6
  export * from './MultiMaskWallet';
7
7
  export * from './FewchaWallet';
8
+ export * from './NightlyWallet';
@@ -1,4 +1,4 @@
1
- import { AptosClient } from 'aptos';
1
+ import { AptosClient, FaucetClient } from 'aptos';
2
2
 
3
3
  export const WEBWALLET_URL = 'https://hippo-wallet-test.web.app';
4
4
  // export const WEBWALLET_URL = 'http://localhost:3030';
@@ -9,4 +9,7 @@ export const LOCAL_FAUCET_URL = 'http://127.0.0.1:8000';
9
9
  export const DEVNET_FAUCET_URL = 'https://faucet.devnet.aptoslabs.com';
10
10
 
11
11
  export const NODE_URL = DEVNET_NODE_URL;
12
+ export const FAUCET_URL = DEVNET_FAUCET_URL;
13
+
12
14
  export const aptosClient = new AptosClient(NODE_URL);
15
+ export const faucetClient = new FaucetClient(NODE_URL, FAUCET_URL);