UNPKG

pweb3

Version:

Pchain JavaScript API

199 lines (193 loc) 10 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('@babel/runtime/helpers/classCallCheck'), require('@babel/runtime/helpers/createClass'), require('@babel/runtime/helpers/possibleConstructorReturn'), require('@babel/runtime/helpers/get'), require('@babel/runtime/helpers/getPrototypeOf'), require('@babel/runtime/helpers/set'), require('@babel/runtime/helpers/inherits'), require('pweb3-core'), require('pweb3-providers'), require('pweb3-utils'), require('pweb3-eth'), require('pweb3-pi'), require('pweb3-shh'), require('pweb3-net'), require('pweb3-eth-personal'), require('pweb3-tdm'), require('pweb3-chain'), require('pweb3-del')) : typeof define === 'function' && define.amd ? define(['@babel/runtime/helpers/classCallCheck', '@babel/runtime/helpers/createClass', '@babel/runtime/helpers/possibleConstructorReturn', '@babel/runtime/helpers/get', '@babel/runtime/helpers/getPrototypeOf', '@babel/runtime/helpers/set', '@babel/runtime/helpers/inherits', 'pweb3-core', 'pweb3-providers', 'pweb3-utils', 'pweb3-eth', 'pweb3-pi', 'pweb3-shh', 'pweb3-net', 'pweb3-eth-personal', 'pweb3-tdm', 'pweb3-chain', 'pweb3-del'], factory) : (global = global || self, global.Web3 = factory(global._classCallCheck, global._createClass, global._possibleConstructorReturn, global._get, global._getPrototypeOf, global._set, global._inherits, global['pweb3-core'], global['pweb3-providers'], global['pweb3-utils'], global['pweb3-eth'], global['pweb3-pi'], global['pweb3-shh'], global['pweb3-net'], global['pweb3-eth-personal'], global['pweb3-tdm'], global['pweb3-chain'], global['pweb3-del'])); }(this, function (_classCallCheck, _createClass, _possibleConstructorReturn, _get, _getPrototypeOf, _set, _inherits, pweb3Core, pweb3Providers, Utils, pweb3Eth, pweb3Pi, pweb3Shh, pweb3Net, pweb3EthPersonal, pweb3Tdm, pweb3Chain, pweb3Del) { 'use strict'; _classCallCheck = _classCallCheck && _classCallCheck.hasOwnProperty('default') ? _classCallCheck['default'] : _classCallCheck; _createClass = _createClass && _createClass.hasOwnProperty('default') ? _createClass['default'] : _createClass; _possibleConstructorReturn = _possibleConstructorReturn && _possibleConstructorReturn.hasOwnProperty('default') ? _possibleConstructorReturn['default'] : _possibleConstructorReturn; _get = _get && _get.hasOwnProperty('default') ? _get['default'] : _get; _getPrototypeOf = _getPrototypeOf && _getPrototypeOf.hasOwnProperty('default') ? _getPrototypeOf['default'] : _getPrototypeOf; _set = _set && _set.hasOwnProperty('default') ? _set['default'] : _set; _inherits = _inherits && _inherits.hasOwnProperty('default') ? _inherits['default'] : _inherits; var version = "1.0.0-beta.62"; var CryptoJS = require('crypto-js'); var _sha = require('crypto-js/sha3'); var Web3 = function (_AbstractWeb3Module) { _inherits(Web3, _AbstractWeb3Module); function Web3(provider, net) { var _this; var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; _classCallCheck(this, Web3); _this = _possibleConstructorReturn(this, _getPrototypeOf(Web3).call(this, provider, options, null, net)); _this.eth = new pweb3Eth.Eth(_this.currentProvider, net, options); _this.shh = new pweb3Shh.Shh(_this.currentProvider, net, options); _this.tdm = new pweb3Tdm.Tdm(_this.currentProvider, net, options); _this.chain = new pweb3Chain.Chain(_this.currentProvider, net, options); _this.del = new pweb3Del.Del(_this.currentProvider, net, options); _this.pi = new pweb3Pi.Pi(_this.currentProvider, net, options); _this.utils = Utils; _this.version = version; return _this; } _createClass(Web3, [{ key: "setProvider", value: function setProvider(provider, net) { return _get(_getPrototypeOf(Web3.prototype), "setProvider", this).call(this, provider, net) && this.eth.setProvider(provider, net) && this.shh.setProvider(provider, net); } }, { key: "getVoteHash", value: function getVoteHash(from, pubKey, amount, salt) { if (pubKey.substr(0, 2) === '0x') pubKey = pubKey.substr(2); if (typeof amount == 'string' && amount.substr(0, 2) === '0x') { amount = amount.substr(2); } else { amount = amount.toString('16'); } amount = amount.length % 2 == 0 ? amount : '0' + amount; var saltCode = ''; for (var i = 0; i < salt.length; i++) { saltCode += salt[i].charCodeAt().toString('16'); } var concatString = from + pubKey + amount + saltCode; return '16' + _sha(concatString.toLowerCase(), { encoding: 'hex' }); } }, { key: "sha3", value: function sha3(value, options) { if (options && options.encoding === 'hex') { if (value.length > 2 && value.substr(0, 2) === '0x') { value = value.substr(2); } value = CryptoJS.enc.Hex.parse(value); } return _sha(value, { outputLength: 256 }).toString(); } }, { key: "accounts", get: function get() { return this.eth.accounts; } }, { key: "defaultGasPrice", set: function set(value) { _set(_getPrototypeOf(Web3.prototype), "defaultGasPrice", value, this, true); this.eth.defaultGasPrice = value; this.shh.defaultGasPrice = value; } , get: function get() { return _get(_getPrototypeOf(Web3.prototype), "defaultGasPrice", this); } }, { key: "defaultGas", set: function set(value) { _set(_getPrototypeOf(Web3.prototype), "defaultGas", value, this, true); this.eth.defaultGas = value; this.shh.defaultGas = value; } , get: function get() { return _get(_getPrototypeOf(Web3.prototype), "defaultGas", this); } }, { key: "transactionBlockTimeout", set: function set(value) { _set(_getPrototypeOf(Web3.prototype), "transactionBlockTimeout", value, this, true); this.eth.transactionBlockTimeout = value; this.shh.transactionBlockTimeout = value; } , get: function get() { return _get(_getPrototypeOf(Web3.prototype), "transactionBlockTimeout", this); } }, { key: "transactionConfirmationBlocks", set: function set(value) { _set(_getPrototypeOf(Web3.prototype), "transactionConfirmationBlocks", value, this, true); this.eth.transactionConfirmationBlocks = value; this.shh.transactionConfirmationBlocks = value; } , get: function get() { return _get(_getPrototypeOf(Web3.prototype), "transactionConfirmationBlocks", this); } }, { key: "transactionPollingTimeout", set: function set(value) { _set(_getPrototypeOf(Web3.prototype), "transactionPollingTimeout", value, this, true); this.eth.transactionPollingTimeout = value; this.shh.transactionPollingTimeout = value; } , get: function get() { return _get(_getPrototypeOf(Web3.prototype), "transactionPollingTimeout", this); } }, { key: "defaultAccount", set: function set(value) { _set(_getPrototypeOf(Web3.prototype), "defaultAccount", value, this, true); this.eth.defaultAccount = value; this.shh.defaultAccount = value; } , get: function get() { return _get(_getPrototypeOf(Web3.prototype), "defaultAccount", this); } }, { key: "defaultBlock", set: function set(value) { _set(_getPrototypeOf(Web3.prototype), "defaultBlock", value, this, true); this.eth.defaultBlock = value; this.shh.defaultBlock = value; } , get: function get() { return _get(_getPrototypeOf(Web3.prototype), "defaultBlock", this); } }], [{ key: "givenProvider", get: function get() { return pweb3Providers.ProviderDetector.detect(); } }, { key: "modules", get: function get() { var providerResolver = new pweb3Providers.ProvidersModuleFactory().createProviderResolver(); return { Eth: function Eth(provider, options, net) { return new pweb3Eth.Eth(providerResolver.resolve(provider, net), options); }, Net: function Net(provider, options, net) { return new pweb3Net.Network(providerResolver.resolve(provider, net), options); }, Personal: function Personal(provider, options, net) { return new pweb3EthPersonal.Personal(providerResolver.resolve(provider, net), options); }, Shh: function Shh(provider, options, net) { return new pweb3Shh.Shh(providerResolver.resolve(provider, net), options); }, Tdm: function Tdm(provider, options, net) { return new pweb3Tdm.Tdm(providerResolver.resolve(provider, net), options); }, Chain: function Chain(provider, options, net) { return new pweb3Chain.Chain(providerResolver.resolve(provider, net), options); }, Del: function Del(provider, options, net) { return new pweb3Del.Del(providerResolver.resolve(provider, net), options); }, Pi: function Pi(provider, options, net) { return new pweb3Pi.Pi(providerResolver.resolve(provider, net), options); } }; } }]); return Web3; }(pweb3Core.AbstractWeb3Module); return Web3; }));