Skip to content

Commit 5ecd418

Browse files
Update Usage.md
1 parent b7a77b1 commit 5ecd418

File tree

1 file changed

+25
-157
lines changed

1 file changed

+25
-157
lines changed

Documentation/Usage.md

Lines changed: 25 additions & 157 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ struct HDKey {
3636

3737
#### Create Account With Private Key
3838
```swift
39-
public func createWalletWithPrivateKey(withName: String?,
39+
func createWalletWithPrivateKey(withName: String?,
4040
password: String,
4141
completion: @escaping (KeyWalletModel?, Error?) -> Void)
4242
{
@@ -115,7 +115,7 @@ func createHDWallet(withName name: String?,
115115

116116
#### Import Account With Private Key
117117
```swift
118-
public func addWalletWithPrivateKey(withName: String?,
118+
func addWalletWithPrivateKey(withName: String?,
119119
key: String,
120120
password: String,
121121
completion: @escaping (KeyWalletModel?, Error?) -> Void)
@@ -299,156 +299,6 @@ print("w3s token balance = " + String(bal))
299299

300300
### Prepare Transaction
301301

302-
#### The class created to bound provider
303-
304-
```swift
305-
/// A web3 instance bound to provider. All further functionality is provided under web.*. namespaces.
306-
public class web3: Web3OptionsInheritable {
307-
public var provider : Web3Provider
308-
public var options : Web3Options = Web3Options.defaultOptions()
309-
public var defaultBlock = "latest"
310-
public var requestDispatcher: JSONRPCrequestDispatcher
311-
312-
/// Add a provider request to the dispatch queue.
313-
public func dispatch(_ request: JSONRPCrequest) -> Promise<JSONRPCresponse> {
314-
return self.requestDispatcher.addToQueue(request: request)
315-
}
316-
317-
/// Raw initializer using a Web3Provider protocol object, dispatch queue and request dispatcher.
318-
public init(provider prov: Web3Provider, queue: OperationQueue? = nil, requestDispatcher: JSONRPCrequestDispatcher? = nil) {
319-
provider = prov
320-
if requestDispatcher == nil {
321-
self.requestDispatcher = JSONRPCrequestDispatcher(provider: provider, queue: DispatchQueue.global(qos: .userInteractive), policy: .Batch(32))
322-
} else {
323-
self.requestDispatcher = requestDispatcher!
324-
}
325-
}
326-
327-
/// Keystore manager can be bound to Web3 instance. If some manager is bound all further account related functions, such
328-
/// as account listing, transaction signing, etc. are done locally using private keys and accounts found in a manager.
329-
public func addKeystoreManager(_ manager: KeystoreManager?) {
330-
self.provider.attachedKeystoreManager = manager
331-
}
332-
333-
var ethInstance: web3.Eth?
334-
335-
/// Public web3.eth.* namespace.
336-
public var eth: web3.Eth {
337-
if (self.ethInstance != nil) {
338-
return self.ethInstance!
339-
}
340-
self.ethInstance = web3.Eth(provider : self.provider, web3: self)
341-
return self.ethInstance!
342-
}
343-
344-
public class Eth:Web3OptionsInheritable {
345-
var provider:Web3Provider
346-
// weak var web3: web3?
347-
var web3: web3
348-
public var options: Web3Options {
349-
return self.web3.options
350-
}
351-
public init(provider prov: Web3Provider, web3 web3instance: web3) {
352-
provider = prov
353-
web3 = web3instance
354-
}
355-
}
356-
357-
var personalInstance: web3.Personal?
358-
359-
/// Public web3.personal.* namespace.
360-
public var personal: web3.Personal {
361-
if (self.personalInstance != nil) {
362-
return self.personalInstance!
363-
}
364-
self.personalInstance = web3.Personal(provider : self.provider, web3: self)
365-
return self.personalInstance!
366-
}
367-
368-
public class Personal:Web3OptionsInheritable {
369-
var provider:Web3Provider
370-
// weak var web3: web3?
371-
var web3: web3
372-
public var options: Web3Options {
373-
return self.web3.options
374-
}
375-
public init(provider prov: Web3Provider, web3 web3instance: web3) {
376-
provider = prov
377-
web3 = web3instance
378-
}
379-
}
380-
381-
var walletInstance: web3.Web3Wallet?
382-
383-
/// Public web3.wallet.* namespace.
384-
public var wallet: web3.Web3Wallet {
385-
if (self.walletInstance != nil) {
386-
return self.walletInstance!
387-
}
388-
self.walletInstance = web3.Web3Wallet(provider : self.provider, web3: self)
389-
return self.walletInstance!
390-
}
391-
392-
public class Web3Wallet {
393-
var provider:Web3Provider
394-
// weak var web3: web3?
395-
var web3: web3
396-
public init(provider prov: Web3Provider, web3 web3instance: web3) {
397-
provider = prov
398-
web3 = web3instance
399-
}
400-
}
401-
402-
var browserFunctionsInstance: web3.BrowserFunctions?
403-
404-
/// Public web3.browserFunctions.* namespace.
405-
public var browserFunctions: web3.BrowserFunctions {
406-
if (self.browserFunctionsInstance != nil) {
407-
return self.browserFunctionsInstance!
408-
}
409-
self.browserFunctionsInstance = web3.BrowserFunctions(provider : self.provider, web3: self)
410-
return self.browserFunctionsInstance!
411-
}
412-
413-
public class BrowserFunctions:Web3OptionsInheritable {
414-
var provider:Web3Provider
415-
// weak var web3: web3?
416-
var web3: web3
417-
public var options: Web3Options {
418-
return self.web3.options
419-
}
420-
public init(provider prov: Web3Provider, web3 web3instance: web3) {
421-
provider = prov
422-
web3 = web3instance
423-
}
424-
}
425-
426-
var erc721Instance: web3.ERC721?
427-
428-
/// Public web3.browserFunctions.* namespace.
429-
public var erc721: web3.ERC721 {
430-
if (self.erc721Instance != nil) {
431-
return self.erc721Instance!
432-
}
433-
self.erc721Instance = web3.ERC721(provider : self.provider, web3: self)
434-
return self.erc721Instance!
435-
}
436-
437-
public class ERC721: Web3OptionsInheritable {
438-
var provider:Web3Provider
439-
// weak var web3: web3?
440-
var web3: web3
441-
public var options: Web3Options {
442-
return self.web3.options
443-
}
444-
public init(provider prov: Web3Provider, web3 web3instance: web3) {
445-
provider = prov
446-
web3 = web3instance
447-
}
448-
}
449-
}
450-
```
451-
452302
#### Getting Contract By Address
453303

454304
```swift
@@ -487,8 +337,7 @@ func prepareTransactionForSendingEther(destinationAddressString: String,
487337
return
488338
}
489339

490-
491-
let web3 = web3swift.web3(provider: InfuraProvider(CurrentNetwork.currentNetwork ?? Networks.Mainnet)!)
340+
let web3 = web3swift.web3(provider: InfuraProvider(Networks.Mainnet)!) //or any other network
492341
web3.addKeystoreManager(KeysService().keystoreManager())
493342

494343
let ethAddressFrom = EthereumAddress(selectedKey)
@@ -556,7 +405,7 @@ func prepareTransactionForSendingERC(destinationAddressString: String,
556405
return
557406
}
558407

559-
let web3 = web3swift.web3(provider: InfuraProvider(CurrentNetwork.currentNetwork ?? Networks.Mainnet)!)
408+
let web3 = web3swift.web3(provider: InfuraProvider(Networks.Mainnet)!) //or any other network
560409
web3.addKeystoreManager(KeysService().keystoreManager())
561410

562411
let contract = self.contract(for: token, web3: web3)
@@ -631,7 +480,7 @@ func prepareTransactionToContract(data: [AnyObject],
631480
let ethAddressFrom = EthereumAddress(address)
632481
let ethContractAddress = EthereumAddress(contractAddress)!
633482

634-
let web3 = CurrentWeb.currentWeb ?? Web3.InfuraMainnetWeb3()
483+
let web3 = Web3.InfuraMainnetWeb3() //or any other web
635484
web3.addKeystoreManager(TransactionsService.keyservice.keystoreManager())
636485
var options = predefinedOptions ?? Web3Options.defaultOptions()
637486
options.from = ethAddressFrom
@@ -696,7 +545,7 @@ func sendToken(transaction: TransactionIntermediate,
696545

697546
#### Sending To Contract
698547
```swift
699-
public func sendToContract(transaction: TransactionIntermediate,
548+
func sendToContract(transaction: TransactionIntermediate,
700549
with password: String? = "YOURPASSWORD",
701550
options: Web3Options? = nil,
702551
completion: @escaping (Result<TransactionSendingResult>) -> Void) {
@@ -726,5 +575,24 @@ public func sendToContract(transaction: TransactionIntermediate,
726575

727576
### Get Block number
728577

578+
```swift
579+
func getBlockNumber(completion: @escaping (String?) -> Void) {
580+
DispatchQueue.global().async {
581+
let web3 = WalletWeb3Factory.web3()
582+
let res = web3.eth.getBlockNumber()
583+
switch res {
584+
case .failure(let error):
585+
print(error)
586+
DispatchQueue.main.async {
587+
completion(nil)
588+
}
589+
case .success(let number):
590+
DispatchQueue.main.async {
591+
completion(number.description)
592+
}
593+
}
594+
}
595+
}
596+
```
729597

730598
### Get Block Gas Price

0 commit comments

Comments
 (0)