@ -1398,7 +1398,7 @@ module.exports = {
} , { "bignumber.js" : "bignumber.js" } ] , 8 : [ function ( require , module , exports ) {
module . exports = {
"version" : "0.7.1 "
"version" : "0.9.0 "
}
} , { } ] , 9 : [ function ( require , module , exports ) {
@ -1505,6 +1505,9 @@ web3.setProvider = function (provider) {
this . currentProvider = provider ;
RequestManager . getInstance ( ) . setProvider ( provider ) ;
} ;
web3 . isConnected = function ( ) {
return ( this . currentProvider && this . currentProvider . isConnected ( ) ) ;
} ;
web3 . reset = function ( ) {
RequestManager . getInstance ( ) . reset ( ) ;
c . defaultBlock = 'latest' ;
@ -1575,7 +1578,7 @@ setupMethods(web3.shh, shh.methods);
module . exports = web3 ;
} , { "./utils/config" : 5 , "./utils/sha3" : 6 , "./utils/utils" : 7 , "./version.json" : 8 , "./web3/batch" : 11 , "./web3/db" : 13 , "./web3/eth" : 15 , "./web3/filter" : 17 , "./web3/formatters" : 18 , "./web3/method" : 23 , "./web3/net" : 25 , "./web3/property" : 26 , "./web3/requestmanager" : 28 , "./web3/shh" : 29 , "./web3/watches" : 31 } ] , 10 : [ function ( require , module , exports ) {
} , { "./utils/config" : 5 , "./utils/sha3" : 6 , "./utils/utils" : 7 , "./version.json" : 8 , "./web3/batch" : 11 , "./web3/db" : 13 , "./web3/eth" : 15 , "./web3/filter" : 17 , "./web3/formatters" : 18 , "./web3/method" : 24 , "./web3/net" : 26 , "./web3/property" : 27 , "./web3/requestmanager" : 28 , "./web3/shh" : 29 , "./web3/watches" : 31 } ] , 10 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -1620,7 +1623,6 @@ AllSolidityEvents.prototype.encode = function (options) {
result [ f ] = formatters . inputBlockNumberFormatter ( options [ f ] ) ;
} ) ;
result . topics = [ null , null , null , null , null ] ; // match all topics
result . address = this . _ address ;
return result ;
@ -1682,6 +1684,8 @@ module.exports = AllSolidityEvents;
* /
var RequestManager = require ( './requestmanager' ) ;
var Jsonrpc = require ( './jsonrpc' ) ;
var errors = require ( './errors' ) ;
var Batch = function ( ) {
this . requests = [ ] ;
@ -1708,11 +1712,14 @@ Batch.prototype.execute = function () {
results = results || [ ] ;
requests . map ( function ( request , index ) {
return results [ index ] || { } ;
} ) . map ( function ( result , index ) {
return requests [ index ] . format ? requests [ index ] . format ( result . result ) : result . result ;
} ) . forEach ( function ( result , index ) {
if ( requests [ index ] . callback ) {
requests [ index ] . callback ( err , result ) ;
if ( ! Jsonrpc . getInstance ( ) . isValidResponse ( result ) ) {
return requests [ index ] . callback ( errors . InvalidResponse ( result ) ) ;
}
requests [ index ] . callback ( null , ( requests [ index ] . format ? requests [ index ] . format ( result . result ) : result . result ) ) ;
}
} ) ;
} ) ;
@ -1721,7 +1728,7 @@ Batch.prototype.execute = function () {
module . exports = Batch ;
} , { "./requestmanager" : 28 } ] , 12 : [ function ( require , module , exports ) {
} , { "./errors" : 14 , "./jsonrpc" : 23 , "./ requestmanager" : 28 } ] , 12 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -1820,6 +1827,79 @@ var contract = function (abi) {
return new ContractFactory ( abi ) ;
} ;
/ * *
* Should be called to check if the contract gets properly deployed on the blockchain .
*
* @ method checkForContractAddress
* @ param { Object } contract
* @ param { Function } callback
* @ returns { Undefined }
* /
var checkForContractAddress = function ( contract , abi , callback ) {
var count = 0 ,
callbackFired = false ;
// wait for receipt
var filter = web3 . eth . filter ( 'latest' , function ( e ) {
if ( ! e && ! callbackFired ) {
count ++ ;
// console.log('Checking for contract address', count);
// stop watching after 50 blocks (timeout)
if ( count > 50 ) {
filter . stopWatching ( ) ;
callbackFired = true ;
if ( callback )
callback ( new Error ( 'Contract transaction couldn\'t be found after 50 blocks' ) ) ;
else
throw new Error ( 'Contract transaction couldn\'t be found after 50 blocks' ) ;
} else {
web3 . eth . getTransactionReceipt ( contract . transactionHash , function ( e , receipt ) {
if ( receipt && ! callbackFired ) {
web3 . eth . getCode ( receipt . contractAddress , function ( e , code ) {
/*jshint maxcomplexity: 5 */
if ( callbackFired )
return ;
filter . stopWatching ( ) ;
callbackFired = true ;
if ( code . length > 2 ) {
// console.log('Contract code deployed!');
contract . address = receipt . contractAddress ;
// attach events and methods
addFunctionsToContract ( contract , abi ) ;
addEventsToContract ( contract , abi ) ;
// call callback for the second time
if ( callback )
callback ( null , contract ) ;
} else {
if ( callback )
callback ( new Error ( 'The contract code couldn\'t be stored, please check your gas amount.' ) ) ;
else
throw new Error ( 'The contract code couldn\'t be stored, please check your gas amount.' ) ;
}
} ) ;
}
} ) ;
}
}
} ) ;
} ;
/ * *
* Should be called to create new ContractFactory instance
*
@ -1838,10 +1918,12 @@ var ContractFactory = function (abi) {
* @ param { Any } contract constructor param2 ( optional )
* @ param { Object } contract transaction object ( required )
* @ param { Function } callback
* @ returns { Contract } returns contract if no callback was passed ,
* otherwise calls callback function ( err , contract )
* @ returns { Contract } returns contract instance
* /
ContractFactory . prototype . new = function ( ) {
var _ this = this ;
var contract = new Contract ( this . abi ) ;
// parse arguments
var options = { } ; // required!
var callback ;
@ -1861,18 +1943,31 @@ ContractFactory.prototype.new = function () {
var bytes = encodeConstructorParams ( this . abi , args ) ;
options . data += bytes ;
if ( ! callback ) {
var address = web3 . eth . sendTransaction ( options ) ;
return this . at ( address ) ;
if ( callback ) {
// wait for the contract address adn check if the code was deployed
web3 . eth . sendTransaction ( options , function ( err , hash ) {
if ( err ) {
callback ( err ) ;
} else {
// add the transaction hash
contract . transactionHash = hash ;
// call callback for the first time
callback ( null , contract ) ;
checkForContractAddress ( contract , _ this . abi , callback ) ;
}
} ) ;
} else {
var hash = web3 . eth . sendTransaction ( options ) ;
// add the transaction hash
contract . transactionHash = hash ;
checkForContractAddress ( contract , _ this . abi ) ;
}
var self = this ;
web3 . eth . sendTransaction ( options , function ( err , address ) {
if ( err ) {
callback ( err ) ;
}
self . at ( address , callback ) ;
} ) ;
return contract ;
} ;
/ * *
@ -1885,12 +1980,17 @@ ContractFactory.prototype.new = function () {
* otherwise calls callback function ( err , contract )
* /
ContractFactory . prototype . at = function ( address , callback ) {
var contract = new Contract ( this . abi , address ) ;
// TODO: address is required
// attach functions
addFunctionsToContract ( contract , this . abi ) ;
addEventsToContract ( contract , this . abi ) ;
if ( callback ) {
callback ( null , new Contract ( this . abi , address ) ) ;
callback ( null , contract ) ;
}
return new Contract ( this . abi , address ) ;
return contract ;
} ;
/ * *
@ -1902,8 +2002,6 @@ ContractFactory.prototype.at = function (address, callback) {
* /
var Contract = function ( abi , address ) {
this . address = address ;
addFunctionsToContract ( this , abi ) ;
addEventsToContract ( this , abi ) ;
} ;
module . exports = contract ;
@ -1967,7 +2065,7 @@ module.exports = {
methods : methods
} ;
} , { "./method" : 23 } ] , 14 : [ function ( require , module , exports ) {
} , { "./method" : 24 } ] , 14 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -2001,7 +2099,7 @@ module.exports = {
return new Error ( 'Providor not set or invalid' ) ;
} ,
InvalidResponse : function ( result ) {
var message = ! ! result && ! ! result . error && ! ! result . error . message ? result . error . message : 'Invalid JSON RPC response' ;
var message = ! ! result && ! ! result . error && ! ! result . error . message ? result . error . message : 'Invalid JSON RPC response: ' + result ;
return new Error ( message ) ;
}
} ;
@ -2162,6 +2260,13 @@ var getTransactionFromBlock = new Method({
outputFormatter : formatters . outputTransactionFormatter
} ) ;
var getTransactionReceipt = new Method ( {
name : 'getTransactionReceipt' ,
call : 'eth_getTransactionReceipt' ,
params : 1 ,
outputFormatter : formatters . outputTransactionReceiptFormatter
} ) ;
var getTransactionCount = new Method ( {
name : 'getTransactionCount' ,
call : 'eth_getTransactionCount' ,
@ -2174,7 +2279,7 @@ var sendRawTransaction = new Method({
name : 'sendRawTransaction' ,
call : 'eth_sendRawTransaction' ,
params : 1 ,
inputFormatter : [ ]
inputFormatter : [ null ]
} ) ;
var sendTransaction = new Method ( {
@ -2240,6 +2345,7 @@ var methods = [
getBlockUncleCount ,
getTransaction ,
getTransactionFromBlock ,
getTransactionReceipt ,
getTransactionCount ,
call ,
estimateGas ,
@ -2292,7 +2398,7 @@ module.exports = {
} ;
} , { "../utils/utils" : 7 , "./formatters" : 18 , "./method" : 23 , "./property" : 26 } ] , 16 : [ function ( require , module , exports ) {
} , { "../utils/utils" : 7 , "./formatters" : 18 , "./method" : 24 , "./property" : 27 } ] , 16 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -2398,8 +2504,8 @@ SolidityEvent.prototype.encode = function (indexed, options) {
result . topics = [ ] ;
result . address = this . _ address ;
if ( ! this . _ anonymous ) {
result . address = this . _ address ;
result . topics . push ( '0x' + this . signature ( ) ) ;
}
@ -2594,9 +2700,11 @@ var getLogsAtStart = function(self, callback){
callback ( err ) ;
}
messages . forEach ( function ( message ) {
callback ( null , message ) ;
} ) ;
if ( utils . isArray ( messages ) ) {
messages . forEach ( function ( message ) {
callback ( null , message ) ;
} ) ;
}
} ) ;
}
} ;
@ -2798,8 +2906,8 @@ var inputTransactionFormatter = function (options){
* Formats the output of a transaction to its proper values
*
* @ method outputTransactionFormatter
* @ param { Object } transaction
* @ returns { Object } transaction
* @ param { Object } tx
* @ returns { Object }
* /
var outputTransactionFormatter = function ( tx ) {
if ( tx . blockNumber !== null )
@ -2813,12 +2921,36 @@ var outputTransactionFormatter = function (tx){
return tx ;
} ;
/ * *
* Formats the output of a transaction receipt to its proper values
*
* @ method outputTransactionReceiptFormatter
* @ param { Object } receipt
* @ returns { Object }
* /
var outputTransactionReceiptFormatter = function ( receipt ) {
if ( receipt . blockNumber !== null )
receipt . blockNumber = utils . toDecimal ( receipt . blockNumber ) ;
if ( receipt . transactionIndex !== null )
receipt . transactionIndex = utils . toDecimal ( receipt . transactionIndex ) ;
receipt . cumulativeGasUsed = utils . toDecimal ( receipt . cumulativeGasUsed ) ;
receipt . gasUsed = utils . toDecimal ( receipt . gasUsed ) ;
if ( utils . isArray ( receipt . logs ) ) {
receipt . logs = receipt . logs . map ( function ( log ) {
return outputLogFormatter ( log ) ;
} ) ;
}
return receipt ;
} ;
/ * *
* Formats the output of a block to its proper values
*
* @ method outputBlockFormatter
* @ param { Object } block object
* @ returns { Object } block object
* @ param { Object } block
* @ returns { Object }
* /
var outputBlockFormatter = function ( block ) {
@ -2926,6 +3058,7 @@ module.exports = {
inputPostFormatter : inputPostFormatter ,
outputBigNumberFormatter : outputBigNumberFormatter ,
outputTransactionFormatter : outputTransactionFormatter ,
outputTransactionReceiptFormatter : outputTransactionReceiptFormatter ,
outputBlockFormatter : outputBlockFormatter ,
outputLogFormatter : outputLogFormatter ,
outputPostFormatter : outputPostFormatter
@ -3191,12 +3324,11 @@ module.exports = SolidityFunction;
* Marek Kotewicz < marek @ ethdev . com >
* Marian Oancea < marian @ ethdev . com >
* Fabian Vogelsteller < fabian @ ethdev . com >
* @ date 2014
* @ date 2015
* /
"use strict" ;
// resolves the problem for electron/atom shell environments, which use node integration, but have no process variable available
var XMLHttpRequest = ( typeof window !== 'undefined' && window . XMLHttpRequest ) ? window . XMLHttpRequest : require ( 'xmlhttprequest' ) . XMLHttpRequest ; // jshint ignore:line
var errors = require ( './errors' ) ;
@ -3204,6 +3336,25 @@ var HttpProvider = function (host) {
this . host = host || 'http://localhost:8545' ;
} ;
HttpProvider . prototype . isConnected = function ( ) {
var request = new XMLHttpRequest ( ) ;
request . open ( 'POST' , this . host , false ) ;
request . setRequestHeader ( 'Content-type' , 'application/json' ) ;
try {
request . send ( JSON . stringify ( {
id : 9999999999 ,
jsonrpc : '2.0' ,
method : 'net_listening' ,
params : [ ]
} ) ) ;
return true ;
} catch ( e ) {
return false ;
}
} ;
HttpProvider . prototype . send = function ( payload ) {
var request = new XMLHttpRequest ( ) ;
@ -3228,7 +3379,7 @@ HttpProvider.prototype.send = function (payload) {
try {
result = JSON . parse ( result ) ;
} catch ( e ) {
throw errors . InvalidResponse ( resul t ) ;
throw errors . InvalidResponse ( request . responseTex t ) ;
}
return result ;
@ -3244,7 +3395,7 @@ HttpProvider.prototype.sendAsync = function (payload, callback) {
try {
result = JSON . parse ( result ) ;
} catch ( e ) {
error = errors . InvalidResponse ( resul t ) ;
error = errors . InvalidResponse ( request . responseTex t ) ;
}
callback ( error , result ) ;
@ -3391,6 +3542,219 @@ module.exports = ICAP;
You should have received a copy of the GNU Lesser General Public License
along with ethereum . js . If not , see < http : //www.gnu.org/licenses/>.
* /
/ * * @ f i l e i p c p r o v i d e r . j s
* @ authors :
* Fabian Vogelsteller < fabian @ ethdev . com >
* @ date 2015
* /
"use strict" ;
var utils = require ( '../utils/utils' ) ;
var errors = require ( './errors' ) ;
var errorTimeout = '{"jsonrpc": "2.0", "error": {"code": -32603, "message": "IPC Request timed out for method \'__method__\'"}, "id": "__id__"}' ;
var IpcProvider = function ( path , net ) {
var _ this = this ;
this . responseCallbacks = { } ;
this . path = path ;
net = net || require ( 'net' ) ;
this . connection = net . connect ( { path : this . path } ) ;
this . connection . on ( 'error' , function ( e ) {
console . error ( 'IPC Connection Error' , e ) ;
_ this . _ timeout ( ) ;
} ) ;
this . connection . on ( 'end' , function ( ) {
_ this . _ timeout ( ) ;
} ) ;
// LISTEN FOR CONNECTION RESPONSES
this . connection . on ( 'data' , function ( data ) {
/*jshint maxcomplexity: 6 */
_ this . _ parseResponse ( data . toString ( ) ) . forEach ( function ( result ) {
var id = null ;
// get the id which matches the returned id
if ( utils . isArray ( result ) ) {
result . forEach ( function ( load ) {
if ( _ this . responseCallbacks [ load . id ] )
id = load . id ;
} ) ;
} else {
id = result . id ;
}
// fire the callback
if ( _ this . responseCallbacks [ id ] ) {
_ this . responseCallbacks [ id ] ( null , result ) ;
delete _ this . responseCallbacks [ id ] ;
}
} ) ;
} ) ;
} ;
/ * *
Will parse the response and make an array out of it .
@ method _ parseResponse
@ param { String } data
* /
IpcProvider . prototype . _ parseResponse = function ( data ) {
var _ this = this ,
returnValues = [ ] ;
// DE-CHUNKER
var dechunkedData = data
. replace ( /\}\{/g , '}|--|{' ) // }{
. replace ( /\}\]\[\{/g , '}]|--|[{' ) // }][{
. replace ( /\}\[\{/g , '}|--|[{' ) // }[{
. replace ( /\}\]\{/g , '}]|--|{' ) // }]{
. split ( '|--|' ) ;
dechunkedData . forEach ( function ( data ) {
// prepend the last chunk
if ( _ this . lastChunk )
data = _ this . lastChunk + data ;
var result = null ;
try {
result = JSON . parse ( data ) ;
} catch ( e ) {
_ this . lastChunk = data ;
// start timeout to cancel all requests
clearTimeout ( _ this . lastChunkTimeout ) ;
_ this . lastChunkTimeout = setTimeout ( function ( ) {
_ this . timeout ( ) ;
throw errors . InvalidResponse ( data ) ;
} , 1000 * 15 ) ;
return ;
}
// cancel timeout and set chunk to null
clearTimeout ( _ this . lastChunkTimeout ) ;
_ this . lastChunk = null ;
if ( result )
returnValues . push ( result ) ;
} ) ;
return returnValues ;
} ;
/ * *
Get the adds a callback to the responseCallbacks object ,
which will be called if a response matching the response Id will arrive .
@ method _ addResponseCallback
* /
IpcProvider . prototype . _ addResponseCallback = function ( payload , callback ) {
var id = payload . id || payload [ 0 ] . id ;
var method = payload . method || payload [ 0 ] . method ;
this . responseCallbacks [ id ] = callback ;
this . responseCallbacks [ id ] . method = method ;
} ;
/ * *
Timeout all requests when the end / error event is fired
@ method _ timeout
* /
IpcProvider . prototype . _ timeout = function ( ) {
for ( var key in this . responseCallbacks ) {
if ( this . responseCallbacks . hasOwnProperty ( key ) ) {
this . responseCallbacks [ key ] ( errorTimeout . replace ( '__id__' , key ) . replace ( '__method__' , this . responseCallbacks [ key ] . method ) ) ;
delete this . responseCallbacks [ key ] ;
}
}
} ;
/ * *
Check if the current connection is still valid .
@ method isConnected
* /
IpcProvider . prototype . isConnected = function ( ) {
var _ this = this ;
// try reconnect, when connection is gone
if ( ! _ this . connection . writable )
_ this . connection . connect ( { path : _ this . path } ) ;
return ! ! this . connection . writable ;
} ;
IpcProvider . prototype . send = function ( payload ) {
if ( this . connection . writeSync ) {
var result ;
// try reconnect, when connection is gone
if ( ! this . connection . writable )
this . connection . connect ( { path : this . path } ) ;
var data = this . connection . writeSync ( JSON . stringify ( payload ) ) ;
try {
result = JSON . parse ( data ) ;
} catch ( e ) {
throw errors . InvalidResponse ( data ) ;
}
return result ;
} else {
throw new Error ( 'You tried to send "' + payload . method + '" synchronously. Synchronous requests are not supported by the IPC provider.' ) ;
}
} ;
IpcProvider . prototype . sendAsync = function ( payload , callback ) {
// try reconnect, when connection is gone
if ( ! this . connection . writable )
this . connection . connect ( { path : this . path } ) ;
this . connection . write ( JSON . stringify ( payload ) ) ;
this . _ addResponseCallback ( payload , callback ) ;
} ;
module . exports = IpcProvider ;
} , { "../utils/utils" : 7 , "./errors" : 14 , "net" : 32 } ] , 23 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
ethereum . js is free software : you can redistribute it and / or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation , either version 3 of the License , or
( at your option ) any later version .
ethereum . js is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU Lesser General Public License for more details .
You should have received a copy of the GNU Lesser General Public License
along with ethereum . js . If not , see < http : //www.gnu.org/licenses/>.
* /
/ * * @ f i l e j s o n r p c . j s
* @ authors :
* Marek Kotewicz < marek @ ethdev . com >
@ -3467,7 +3831,7 @@ Jsonrpc.prototype.toBatchPayload = function (messages) {
module . exports = Jsonrpc ;
} , { } ] , 23 : [ function ( require , module , exports ) {
} , { } ] , 24 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -3564,7 +3928,7 @@ Method.prototype.formatInput = function (args) {
* @ return { Object }
* /
Method . prototype . formatOutput = function ( result ) {
return this . outputFormatter && result !== null ? this . outputFormatter ( result ) : result ;
return this . outputFormatter && result ? this . outputFormatter ( result ) : result ;
} ;
/ * *
@ -3641,7 +4005,7 @@ Method.prototype.send = function () {
module . exports = Method ;
} , { "../utils/utils" : 7 , "./errors" : 14 , "./requestmanager" : 28 } ] , 24 : [ function ( require , module , exports ) {
} , { "../utils/utils" : 7 , "./errors" : 14 , "./requestmanager" : 28 } ] , 25 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -3689,7 +4053,7 @@ var abi = [
module . exports = contract ( abi ) . at ( address ) ;
} , { "./contract" : 12 } ] , 25 : [ function ( require , module , exports ) {
} , { "./contract" : 12 } ] , 26 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -3739,7 +4103,7 @@ module.exports = {
} ;
} , { "../utils/utils" : 7 , "./property" : 26 } ] , 26 : [ function ( require , module , exports ) {
} , { "../utils/utils" : 7 , "./property" : 27 } ] , 27 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -3764,6 +4128,7 @@ module.exports = {
* /
var RequestManager = require ( './requestmanager' ) ;
var utils = require ( '../utils/utils' ) ;
var Property = function ( options ) {
this . name = options . name ;
@ -3795,6 +4160,19 @@ Property.prototype.formatOutput = function (result) {
return this . outputFormatter && result !== null ? this . outputFormatter ( result ) : result ;
} ;
/ * *
* Should be used to extract callback from array of arguments . Modifies input param
*
* @ method extractCallback
* @ param { Array } arguments
* @ return { Function | Null } callback , if exists
* /
Property . prototype . extractCallback = function ( args ) {
if ( utils . isFunction ( args [ args . length - 1 ] ) ) {
return args . pop ( ) ; // modify the args array!
}
} ;
/ * *
* Should attach function to method
*
@ -3821,7 +4199,10 @@ Property.prototype.attachToObject = function (obj) {
return prefix + name . charAt ( 0 ) . toUpperCase ( ) + name . slice ( 1 ) ;
} ;
obj [ toAsyncName ( 'get' , name ) ] = this . getAsync . bind ( this ) ;
var func = this . getAsync . bind ( this ) ;
func . request = this . request . bind ( this ) ;
obj [ toAsyncName ( 'get' , name ) ] = func ;
} ;
/ * *
@ -3854,45 +4235,27 @@ Property.prototype.getAsync = function (callback) {
} ) ;
} ;
module . exports = Property ;
} , { "./requestmanager" : 28 } ] , 27 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
ethereum . js is free software : you can redistribute it and / or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation , either version 3 of the License , or
( at your option ) any later version .
ethereum . js is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU Lesser General Public License for more details .
You should have received a copy of the GNU Lesser General Public License
along with ethereum . js . If not , see < http : //www.gnu.org/licenses/>.
* /
/ * * @ f i l e q t s y n c . j s
* @ authors :
* Marek Kotewicz < marek @ ethdev . com >
* Marian Oancea < marian @ ethdev . com >
* @ date 2014
/ * *
* Should be called to create pure JSONRPC request which can be used in batch request
*
* @ method request
* @ param { ... } params
* @ return { Object } jsonrpc request
* /
var QtSyncProvider = function ( ) {
} ;
QtSyncProvider . prototype . send = function ( payload ) {
var result = navigator . qt . callMethod ( JSON . stringify ( payload ) ) ;
return JSON . parse ( result ) ;
Property . prototype . request = function ( ) {
var payload = {
method : this . getter ,
params : [ ] ,
callback : this . extractCallback ( Array . prototype . slice . call ( arguments ) )
} ;
payload . format = this . formatOutput . bind ( this ) ;
return payload ;
} ;
module . exports = QtSyncProvider ;
module . exports = Property ;
} , { } ] , 28 : [ function ( require , module , exports ) {
} , { "../utils/utils" : 7 , "./requestmanager" : 28 } ] , 28 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -4157,7 +4520,7 @@ RequestManager.prototype.poll = function () {
module . exports = RequestManager ;
} , { "../utils/config" : 5 , "../utils/utils" : 7 , "./errors" : 14 , "./jsonrpc" : 22 } ] , 29 : [ function ( require , module , exports ) {
} , { "../utils/config" : 5 , "../utils/utils" : 7 , "./errors" : 14 , "./jsonrpc" : 23 } ] , 29 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -4227,7 +4590,7 @@ module.exports = {
} ;
} , { "./formatters" : 18 , "./method" : 23 } ] , 30 : [ function ( require , module , exports ) {
} , { "./formatters" : 18 , "./method" : 24 } ] , 30 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -4323,7 +4686,7 @@ var deposit = function (from, address, value, client, callback) {
module . exports = transfer ;
} , { "../web3" : 9 , "./contract" : 12 , "./icap" : 21 , "./namereg" : 24 } ] , 31 : [ function ( require , module , exports ) {
} , { "../web3" : 9 , "./contract" : 12 , "./icap" : 21 , "./namereg" : 25 } ] , 31 : [ function ( require , module , exports ) {
/ *
This file is part of ethereum . js .
@ -4439,7 +4802,7 @@ module.exports = {
} ;
} , { "./method" : 23 } ] , 32 : [ function ( require , module , exports ) {
} , { "./method" : 24 } ] , 32 : [ function ( require , module , exports ) {
} , { } ] , 33 : [ function ( require , module , exports ) {
; ( function ( root , factory ) {
@ -5821,8 +6184,10 @@ module.exports = BigNumber; // jshint ignore:line
} , { } ] , "web3" : [ function ( require , module , exports ) {
var web3 = require ( './lib/web3' ) ;
web3 . providers . HttpProvider = require ( './lib/web3/httpprovider' ) ;
web3 . providers . QtSyncProvider = require ( './lib/web3/qtsync' ) ;
web3 . providers . IpcProvider = require ( './lib/web3/ipcprovider' ) ;
web3 . eth . contract = require ( './lib/web3/contract' ) ;
web3 . eth . namereg = require ( './lib/web3/namereg' ) ;
web3 . eth . sendIBANTransaction = require ( './lib/web3/transfer' ) ;
@ -5835,5 +6200,5 @@ if (typeof window !== 'undefined' && typeof window.web3 === 'undefined') {
module . exports = web3 ;
} , { "./lib/web3" : 9 , "./lib/web3/contract" : 12 , "./lib/web3/httpprovider" : 20 , "./lib/web3/namereg" : 24 , "./lib/web3/qtsync" : 27 , "./lib/web3/transfer" : 30 } ] } , { } , [ "web3" ] )
} , { "./lib/web3" : 9 , "./lib/web3/contract" : 12 , "./lib/web3/httpprovider" : 20 , "./lib/web3/ipcprovider" : 22 , "./lib/web3/namereg" : 25 , "./lib/web3/transfer" : 30 } ] } , { } , [ "web3" ] )
//# sourceMappingURL=web3-light.js.map