Skip to content

Commit

Permalink
add the ability to pass extra parameters to call
Browse files Browse the repository at this point in the history
  • Loading branch information
kvhnuke committed Oct 25, 2019
1 parent cdbbb23 commit 5bba4d2
Show file tree
Hide file tree
Showing 10 changed files with 1,882 additions and 1,204 deletions.
10 changes: 2 additions & 8 deletions packages/eth-token-balance/babel.config.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
const presets = [
[
"@babel/env",
"@babel/preset-env",
{
targets: {
edge: "17",
firefox: "60",
chrome: "67",
safari: "11.1"
},
useBuiltIns: "usage"
useBuiltIns: "entry"
}
]
];
Expand Down
6 changes: 2 additions & 4 deletions packages/eth-token-balance/dist/binaryDecoder.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@ Object.defineProperty(exports, "__esModule", {
});
exports.default = void 0;

require("core-js/modules/es6.regexp.replace");

var _bignumber = _interopRequireDefault(require("bignumber.js"));

var _web = _interopRequireDefault(require("web3"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

var sizeHex = bytes => {
var sizeHex = function sizeHex(bytes) {
return bytes * 2;
};

Expand All @@ -26,7 +24,7 @@ function getAscii(hex) {
return trim(_web.default.utils.toAscii(hex));
}

var _default = hex => {
var _default = function _default(hex) {
var tokens = [];
hex = hex.substring(0, 2) == "0x" ? hex.substring(2) : hex;
hex = hex.substring(0, hex.lastIndexOf("1") - 1); //starting point
Expand Down
14 changes: 7 additions & 7 deletions packages/eth-token-balance/dist/binaryDecoderNFT.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,22 @@ var _bignumber = _interopRequireDefault(require("bignumber.js"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

let sizeHex = bytes => {
var sizeHex = function sizeHex(bytes) {
return bytes * 2;
};

var _default = hex => {
var _default = function _default(hex) {
hex = hex.substring(0, 2) == "0x" ? hex.substring(2) : hex;
hex = hex.substring(0, hex.lastIndexOf("1") - 1); //starting point

let offset = hex.length;
var offset = hex.length;
offset -= sizeHex(32);
const numValues = new _bignumber.default("0x" + hex.substr(offset, sizeHex(32))).toNumber();
const values = [];
var numValues = new _bignumber.default("0x" + hex.substr(offset, sizeHex(32))).toNumber();
var values = [];

for (let i = 0; i < numValues; i++) {
for (var i = 0; i < numValues; i++) {
offset -= sizeHex(1);
const numBytes = new _bignumber.default("0x" + hex.substr(offset, sizeHex(1))).toNumber();
var numBytes = new _bignumber.default("0x" + hex.substr(offset, sizeHex(1))).toNumber();
offset -= sizeHex(numBytes);
values.push(new _bignumber.default("0x" + hex.substr(offset, sizeHex(numBytes))));
}
Expand Down
54 changes: 36 additions & 18 deletions packages/eth-token-balance/dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,47 +13,65 @@ var _web = _interopRequireDefault(require("web3"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var contractAddress = {
// Mainnet
"1": "0x2783c0A4Bfd3721961653a9e9939Fc63687bf07f",
"3": "0xB8E1Bbc50FD87Ea00D8ce73747Ac6F516aF26dAC"
};

class TokenBalance {
constructor(ethProvider) {
var TokenBalance =
/*#__PURE__*/
function () {
function TokenBalance(ethProvider) {
var _this = this;

_classCallCheck(this, TokenBalance);

if (ethProvider.currentProvider) {
ethProvider = ethProvider.currentProvider;
}

this.web3 = new _web.default(ethProvider);
this.tokenContract = new this.web3.eth.Contract(_abi.default);
this.tokenPromise = new Promise((resolve, reject) => {
this.web3.eth.net.getId().then(version => {
this.tokenPromise = new Promise(function (resolve, reject) {
_this.web3.eth.net.getId().then(function (version) {
if (!contractAddress[version]) {
return reject(new Error("Network not supported"));
}

this.tokenContract.options.address = contractAddress[version];
_this.tokenContract.options.address = contractAddress[version];
resolve();
});
});
}

getBalance(address) {
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
let website = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
let email = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
let count = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
return new Promise((resolve, reject) => {
this.tokenPromise.then(() => {
this.tokenContract.methods.getAllBalance(address, name, website, email, count).call().then(res => {
resolve((0, _binaryDecoder.default)(res));
_createClass(TokenBalance, [{
key: "getBalance",
value: function getBalance(address) {
var _this2 = this;

var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var website = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
var email = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
var count = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
return new Promise(function (resolve, reject) {
_this2.tokenPromise.then(function () {
_this2.tokenContract.methods.getAllBalance(address, name, website, email, count).call().then(function (res) {
resolve((0, _binaryDecoder.default)(res));
}).catch(reject);
}).catch(reject);
}).catch(reject);
});
}
});
}
}]);

}
return TokenBalance;
}();

var _default = TokenBalance;
exports.default = _default;
10 changes: 4 additions & 6 deletions packages/eth-token-balance/dist/test.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
"use strict";

require("core-js/modules/web.dom.iterable");

var _index = _interopRequireDefault(require("./index"));

var _web = _interopRequireDefault(require("web3"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const web3 = new _web.default("wss://ws-eth.mewapi.io");
const tb = new _index.default(web3.currentProvider);
tb.getBalance("0xDECAF9CD2367cdbb726E904cD6397eDFcAe6068D").then(balances => {
balances.forEach(element => {
var web3 = new _web.default("wss://ws-eth.mewapi.io");
var tb = new _index.default(web3.currentProvider);
tb.getBalance("0xDECAF9CD2367cdbb726E904cD6397eDFcAe6068D").then(function (balances) {
balances.forEach(function (element) {
if (element.symbol === "REP") console.log(element);
});
});
12 changes: 6 additions & 6 deletions packages/eth-token-balance/dist/testNFT.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ var _web = _interopRequireDefault(require("web3"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

const web3 = new _web.default("https://api.myetherwallet.com/eth");
const tokenContract = new web3.eth.Contract(_abiNFT.default);
var web3 = new _web.default("https://api.myetherwallet.com/eth");
var tokenContract = new web3.eth.Contract(_abiNFT.default);
tokenContract.options.address = "0xeA3352C1a3480Ac5a32Fcd1F2854529BA7193F14";
tokenContract.methods.getOwnedTokens("0x8bc67d00253fd60b1afcce88b78820413139f4c6", "0x669cb6e8e464fd445df692db25d69c37e3f2621f", 0, 1000).call().then(res => {
tokenContract.methods.getOwnedTokens("0x8bc67d00253fd60b1afcce88b78820413139f4c6", "0x669cb6e8e464fd445df692db25d69c37e3f2621f", 0, 1000).call().then(function (res) {
console.log(res, (0, _binaryDecoderNFT.default)(res).length);
console.log((0, _binaryDecoderNFT.default)(res).map(val => {
console.log((0, _binaryDecoderNFT.default)(res).map(function (val) {
return val.toNumber();
}));
});
tokenContract.methods.getTokenBalances(["0x8bc67d00253fd60b1afcce88b78820413139f4c6", "0x6EbeAf8e8E946F0716E6533A6f2cefc83f60e8Ab", "0x8bc67d00253fd60b1afcce88b78820413139f4c6"], "0x669cb6e8e464fd445df692db25d69c37e3f2621f").call().then(res => {
tokenContract.methods.getTokenBalances(["0x8bc67d00253fd60b1afcce88b78820413139f4c6", "0x6EbeAf8e8E946F0716E6533A6f2cefc83f60e8Ab", "0x8bc67d00253fd60b1afcce88b78820413139f4c6"], "0x669cb6e8e464fd445df692db25d69c37e3f2621f").call().then(function (res) {
console.log(res, (0, _binaryDecoderNFT.default)(res).length);
console.log((0, _binaryDecoderNFT.default)(res).map(val => {
console.log((0, _binaryDecoderNFT.default)(res).map(function (val) {
return val.toNumber();
}));
});
Loading

0 comments on commit 5bba4d2

Please sign in to comment.