Skip to content

Commit 6596e2f

Browse files
committed
Change walletManager with UID (#43)
1 parent 1ea9be5 commit 6596e2f

File tree

4 files changed

+39
-27
lines changed

4 files changed

+39
-27
lines changed

packages/common/ios/Podfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ end
5757
# -------------------------------------------------- #
5858
def native
5959
# Native Dependencies
60-
pod 'Web3swift.pod', git: 'https://github.com/matter-labs/web3swift', branch: 'master'
60+
pod 'web3swift', git: 'https://github.com/matter-labs/web3swift', branch: 'master'
6161
pod 'KeychainAccess'
6262
pod 'ToastHybrid', :path => './lib'
6363
end

packages/common/ios/common/Modules/ReactNative/RNBridge.m

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ @interface RCT_EXTERN_MODULE(WalletModule, NSObject)
1717
RCT_EXTERN_METHOD(generateMnemonic:(RCTPromiseResolveBlock)resolve
1818
reject:(RCTPromiseRejectBlock)reject)
1919

20-
RCT_EXTERN_METHOD(generateAndStoreMnemonic(NSString *)uid
21-
mnemonic:(NSString *)mnemonic
20+
RCT_EXTERN_METHOD(generateAndStoreMnemonic:(NSString *)uid
2221
resolve:(RCTPromiseResolveBlock)resolve
2322
reject:(RCTPromiseRejectBlock)reject)
2423

@@ -28,7 +27,6 @@ @interface RCT_EXTERN_MODULE(WalletModule, NSObject)
2827
reject:(RCTPromiseRejectBlock)reject)
2928

3029
RCT_EXTERN_METHOD(retrieveMnemonic:(NSString *)uid
31-
mnemonic:(NSString *)mnemonic
3230
resolve:(RCTPromiseResolveBlock)resolve
3331
reject:(RCTPromiseRejectBlock)reject)
3432

packages/common/src/Screens/NativeBridgeTests.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import {
1111
const {height, width} = Dimensions.get('window');
1212
import WalletManager from '../Util/WalletManager';
1313

14+
const uid = 'test';
15+
1416
export default class nativeBridgeTests extends React.Component {
1517
constructor(props) {
1618
super(props);
@@ -32,6 +34,7 @@ export default class nativeBridgeTests extends React.Component {
3234
};
3335

3436
this.child = React.createRef();
37+
WalletManager.init(uid);
3538
}
3639

3740
generateMnemonic = async () => {
@@ -46,7 +49,9 @@ export default class nativeBridgeTests extends React.Component {
4649

4750
generateAndStoreMnemonic = async () => {
4851
try {
49-
const mnemonicsAndStore = await NativeWallet.generateAndStoreMnemonic();
52+
const mnemonicsAndStore = await NativeWallet.generateAndStoreMnemonic(
53+
uid,
54+
);
5055
console.log('mnemonicsAndStore: ', mnemonicsAndStore);
5156
this.setState({mnemonicsAndStore});
5257
} catch (e) {
@@ -57,6 +62,7 @@ export default class nativeBridgeTests extends React.Component {
5762
storeMnemonic = async () => {
5863
try {
5964
const storedMnemonic = await NativeWallet.storeMnemonic(
65+
uid,
6066
'order cabin immune pond brave guilt boil index car aware snap list',
6167
);
6268
console.log('storeMnemonic: ', storedMnemonic);
@@ -68,7 +74,7 @@ export default class nativeBridgeTests extends React.Component {
6874

6975
retrieveMnemonic = async () => {
7076
try {
71-
const keychainMnemonics = await NativeWallet.retrieveMnemonic();
77+
const keychainMnemonics = await NativeWallet.retrieveMnemonic(uid);
7278
console.log('keychainMnemonics: ', keychainMnemonics);
7379
this.setState({keychainMnemonics});
7480
} catch (e) {
@@ -78,7 +84,7 @@ export default class nativeBridgeTests extends React.Component {
7884

7985
getOwnerBalance = async () => {
8086
try {
81-
const manager = await WalletManager.getInstance();
87+
const manager = WalletManager.getInstance();
8288
const address = await manager.getOwnerAccount();
8389
const balance = await manager.getBalance(address);
8490
this.setState({ownerAccount: address, ownerBalance: balance});
@@ -89,7 +95,7 @@ export default class nativeBridgeTests extends React.Component {
8995

9096
getBalance = async () => {
9197
try {
92-
const manager = await WalletManager.getInstance();
98+
const manager = WalletManager.getInstance();
9399
const address = manager.getAddress();
94100
const balance = await manager.getBalance(manager.address);
95101
this.setState({address, balance});
@@ -100,7 +106,7 @@ export default class nativeBridgeTests extends React.Component {
100106

101107
sendTransaction = async () => {
102108
try {
103-
const manager = await WalletManager.getInstance();
109+
const manager = WalletManager.getInstance();
104110
const {response, hash} = await manager.sendTransaction(
105111
'0x41B788babf69FC7F98336ff7A47F5A80c3A63d40',
106112
'0.001',
@@ -117,7 +123,7 @@ export default class nativeBridgeTests extends React.Component {
117123

118124
readSmartContract = async () => {
119125
try {
120-
const manager = await WalletManager.getInstance();
126+
const manager = WalletManager.getInstance();
121127
let value = await manager.readSmartContract(
122128
'0x2f21957c7147c3eE49235903D6471159a16c9ccd',
123129
MessageContract,
@@ -131,7 +137,7 @@ export default class nativeBridgeTests extends React.Component {
131137

132138
callSmartContract = async () => {
133139
try {
134-
const manager = await WalletManager.getInstance();
140+
const manager = WalletManager.getInstance();
135141
let message = `Hello ${Math.floor(Math.random() * Math.floor(50))}`;
136142
console.log(message);
137143
const {

packages/common/src/Util/WalletManager.js

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import CPK from 'contract-proxy-kit';
44

55
export default class WalletManager {
66
static myInstance = null;
7-
constructor(provider, cpkAddress) {
7+
constructor(provider, cpkAddress, uid) {
88
return (async () => {
9-
this.mnemonic = await NativeWallet.retrieveMnemonic();
9+
this.mnemonic = await NativeWallet.retrieveMnemonic(uid);
1010
this.provider = provider;
1111
this.ethWallet = ethers.Wallet.fromMnemonic(this.mnemonic).connect(
1212
this.provider,
@@ -21,21 +21,29 @@ export default class WalletManager {
2121
})();
2222
}
2323

24-
static getInstance = async () => {
24+
static init = async uid => {
25+
const cpkAddress = {
26+
4: {
27+
masterCopyAddress: '0xaE32496491b53841efb51829d6f886387708F99B',
28+
proxyFactoryAddress: '0x336c19296d3989e9e0c2561ef21c964068657c38',
29+
multiSendAddress: '0xB522a9f781924eD250A11C54105E51840B138AdD',
30+
fallbackHandlerAddress: '0x40A930851BD2e590Bd5A5C981b436de25742E980',
31+
},
32+
};
33+
const provider = new ethers.providers.InfuraProvider(
34+
'rinkeby',
35+
'3c08878d00734c0c98a3e4741d0b4cfc',
36+
);
37+
WalletManager.myInstance = await new WalletManager(
38+
provider,
39+
cpkAddress,
40+
uid,
41+
);
42+
};
43+
44+
static getInstance = () => {
2545
if (WalletManager.myInstance == null) {
26-
const cpkAddress = {
27-
4: {
28-
masterCopyAddress: '0xaE32496491b53841efb51829d6f886387708F99B',
29-
proxyFactoryAddress: '0x336c19296d3989e9e0c2561ef21c964068657c38',
30-
multiSendAddress: '0xB522a9f781924eD250A11C54105E51840B138AdD',
31-
fallbackHandlerAddress: '0x40A930851BD2e590Bd5A5C981b436de25742E980',
32-
},
33-
};
34-
const provider = new ethers.providers.InfuraProvider(
35-
'rinkeby',
36-
'3c08878d00734c0c98a3e4741d0b4cfc',
37-
);
38-
WalletManager.myInstance = await new WalletManager(provider, cpkAddress);
46+
throw new Error('WalletManager have not initialized');
3947
}
4048
return this.myInstance;
4149
};

0 commit comments

Comments
 (0)