Skip to content
This repository has been archived by the owner on Dec 13, 2022. It is now read-only.

Commit

Permalink
Merge pull request #20 from medhatiwari/issue-18
Browse files Browse the repository at this point in the history
#18 code for funcion getAbi()
  • Loading branch information
supriya-045 committed Oct 28, 2021
2 parents de12ada + 1c8e0fe commit 6fe629e
Showing 1 changed file with 43 additions and 3 deletions.
46 changes: 43 additions & 3 deletions lib/contract_linking.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import 'package:flutter/material.dart';
import 'package:http/http.dart';
import 'package:web3dart/web3dart.dart';
import 'package:web_socket_channel/io.dart';
import 'dart:convert';
import 'package:flutter/services.dart';
import 'package:flutter/cupertino.dart';

class ContractLinking extends ChangeNotifier {

final String _rpcUrl = "http://10.0.2.2:7545";
final String _wsUrl = "ws://10.0.2.2:7545/";
final String _privateKey = " Private Key :) ";
Expand All @@ -10,15 +15,50 @@ class ContractLinking extends ChangeNotifier {

String _abiCode;
EthereumAddress _contractAddress;
EthreumAddress _ownerAddress;
EthereumAddress _ownerAddress;

Credentials _credentials;

DeployedContract _contract;

ContractFunction _bidderName;
ContractFunction _bidAmount;
ContractFunction _minAmount;
ContractFunction _setBidder;
ContractFunction _minBid;

initialSetup() async {
_client = Web3Client(_rpcUrl, Client(), socketConnector: () {
return IOWebSocketChannel.connect(_wsUrl).cast<String>();
});

await getAbi();
await getCredentials();
await getDeployedContract();
}

Future<void> getAbi() async {
String abiFile = await rootBundle.loadString("src/artifacts/Bidder.json");
var jsonAbi = jsonDecode(abiFile);
_abiCode = jsonEncode(jsonAbi["abi"]);

_contractAddress =
EthereumAddress.fromHex(jsonAbi["networks"]["5777"]["address"]);
}


Future<void> getCredentials() async {
_credentials = await _client.credentialsFromPrivateKey(_privateKey);
_ownerAddress = await _credentials.extractAddress();
}

Future<void> getDeployedContract() async {
_contract = DeployedContract(ContractAbi.fromJson(_abiCode, "Bidder"), _contractAddress);

_bidderName = _contract.function("bidderName");
_bidAmount = _contract.function("bidAmount");
_minAmount = _contract.function("minBid");
_setBidder = _contract.function("setBidder");
}
}


0 comments on commit 6fe629e

Please sign in to comment.