aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/mist/assets/ext/ethereum.js/example
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-02-13 22:05:56 +0800
committerobscuren <geffobscura@gmail.com>2015-02-13 22:05:56 +0800
commita5ea21cd85530eee6eb1bb83c37c20d009f11f74 (patch)
treee5be5bd595139ff7dfbe6261e1e659d8e7dd6f9c /cmd/mist/assets/ext/ethereum.js/example
parentdb24fb792cf0dab91bc85e79aecf6758349002a4 (diff)
parent38faf2c51a1e4a86cda5dfa1b4f7fdae4fd7f58d (diff)
downloadgo-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar
go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.gz
go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.bz2
go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.lz
go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.xz
go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.tar.zst
go-tangerine-a5ea21cd85530eee6eb1bb83c37c20d009f11f74.zip
merge
Diffstat (limited to 'cmd/mist/assets/ext/ethereum.js/example')
-rw-r--r--cmd/mist/assets/ext/ethereum.js/example/balance.html26
-rw-r--r--cmd/mist/assets/ext/ethereum.js/example/contract.html19
-rw-r--r--cmd/mist/assets/ext/ethereum.js/example/contract_with_array.html76
-rw-r--r--cmd/mist/assets/ext/ethereum.js/example/event.html120
-rw-r--r--cmd/mist/assets/ext/ethereum.js/example/event_inc.html66
-rw-r--r--cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html77
-rw-r--r--cmd/mist/assets/ext/ethereum.js/example/node-app.js18
7 files changed, 369 insertions, 33 deletions
diff --git a/cmd/mist/assets/ext/ethereum.js/example/balance.html b/cmd/mist/assets/ext/ethereum.js/example/balance.html
index d0bf094ef..616d4eb6f 100644
--- a/cmd/mist/assets/ext/ethereum.js/example/balance.html
+++ b/cmd/mist/assets/ext/ethereum.js/example/balance.html
@@ -2,28 +2,30 @@
<html>
<head>
-<script type="text/javascript" src="js/es6-promise/promise.min.js"></script>
+<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script>
<script type="text/javascript" src="../dist/ethereum.js"></script>
<script type="text/javascript">
var web3 = require('web3');
- web3.setProvider(new web3.providers.AutoProvider());
+ web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080'));
function watchBalance() {
var coinbase = web3.eth.coinbase;
var originalBalance = 0;
- web3.eth.balanceAt(coinbase).then(function (balance) {
- originalBalance = web3.toDecimal(balance);
- document.getElementById('original').innerText = 'original balance: ' + originalBalance + ' watching...';
- });
+ var balance = web3.eth.balanceAt(coinbase);
+ var originalBalance = web3.toDecimal(balance);
+ document.getElementById('original').innerText = 'original balance: ' + originalBalance + ' watching...';
- web3.eth.watch({altered: coinbase}).changed(function() {
- web3.eth.balanceAt(coinbase).then(function (balance) {
- var currentBalance = web3.toDecimal(balance);
- document.getElementById("current").innerText = 'current: ' + currentBalance;
- document.getElementById("diff").innerText = 'diff: ' + (currentBalance - originalBalance);
- });
+<<<<<<< HEAD:cmd/mist/assets/ext/ethereum.js/example/balance.html
+ var filter = web3.eth.watch({address: coinbase}).changed(function() {
+=======
+ web3.eth.watch('pending').changed(function() {
+>>>>>>> 859a1999cb204d2c6fcb08d6569c738c5af5cd86:example/balance.html
+ balance = web3.eth.balanceAt(coinbase)
+ var currentBalance = web3.toDecimal(balance);
+ document.getElementById("current").innerText = 'current: ' + currentBalance;
+ document.getElementById("diff").innerText = 'diff: ' + (currentBalance - originalBalance);
});
}
diff --git a/cmd/mist/assets/ext/ethereum.js/example/contract.html b/cmd/mist/assets/ext/ethereum.js/example/contract.html
index 403d8c9d1..a534f68d8 100644
--- a/cmd/mist/assets/ext/ethereum.js/example/contract.html
+++ b/cmd/mist/assets/ext/ethereum.js/example/contract.html
@@ -2,12 +2,12 @@
<html>
<head>
-<script type="text/javascript" src="js/es6-promise/promise.min.js"></script>
+<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script>
<script type="text/javascript" src="../dist/ethereum.js"></script>
<script type="text/javascript">
var web3 = require('web3');
- web3.setProvider(new web3.providers.AutoProvider());
+ web3.setProvider(new web3.providers.HttpSyncProvider());
// solidity source code
var source = "" +
@@ -19,7 +19,8 @@
// contract description, this will be autogenerated somehow
var desc = [{
- "name": "multiply",
+ "name": "multiply(uint256)",
+ "type": "function",
"inputs": [
{
"name": "a",
@@ -42,10 +43,9 @@
document.getElementById('source').innerText = source;
// create contract
- web3.eth.transact({code: web3.eth.solidity(source)}).then(function (address) {
- contract = web3.contract(address, desc);
- document.getElementById('call').style.visibility = 'visible';
- });
+ var address = web3.eth.transact({code: web3.eth.solidity(source)});
+ contract = web3.eth.contract(address, desc);
+ document.getElementById('call').style.visibility = 'visible';
}
function callExampleContract() {
@@ -53,9 +53,8 @@
var param = parseInt(document.getElementById('value').value);
// call the contract
- contract.multiply(param).call().then(function(res) {
- document.getElementById('result').innerText = res[0];
- });
+ var res = contract.call().multiply(param);
+ document.getElementById('result').innerText = res.toString(10);
}
</script>
diff --git a/cmd/mist/assets/ext/ethereum.js/example/contract_with_array.html b/cmd/mist/assets/ext/ethereum.js/example/contract_with_array.html
new file mode 100644
index 000000000..a3dfc8a24
--- /dev/null
+++ b/cmd/mist/assets/ext/ethereum.js/example/contract_with_array.html
@@ -0,0 +1,76 @@
+<!doctype>
+<html>
+
+<head>
+<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script>
+<script type="text/javascript" src="../dist/ethereum.js"></script>
+<script type="text/javascript">
+
+ var web3 = require('web3');
+ web3.setProvider(new web3.providers.HttpSyncProvider());
+
+ // solidity source code
+ var source = "" +
+ "contract test {\n" +
+ " function multiply(uint[] a) returns(uint d) {\n" +
+ " return a[0] + a[1];\n" +
+ " }\n" +
+ "}\n";
+
+ // contract description, this will be autogenerated somehow
+ var desc = [{
+ "name": "multiply(uint256[])",
+ "type": "function",
+ "inputs": [
+ {
+ "name": "a",
+ "type": "uint256[]"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "d",
+ "type": "uint256"
+ }
+ ]
+ }];
+
+ var contract;
+
+ function createExampleContract() {
+ // hide create button
+ document.getElementById('create').style.visibility = 'hidden';
+ document.getElementById('source').innerText = source;
+
+ // create contract
+ var address = web3.eth.transact({code: web3.eth.solidity(source)});
+ contract = web3.eth.contract(address, desc);
+ document.getElementById('call').style.visibility = 'visible';
+ }
+
+ function callExampleContract() {
+ // this should be generated by ethereum
+ var param = parseInt(document.getElementById('value').value);
+ var param2 = parseInt(document.getElementById('value2').value);
+
+ // call the contract
+ var res = contract.call().multiply([param, param2]);
+ document.getElementById('result').innerText = res.toString(10);
+ }
+
+</script>
+</head>
+<body>
+ <h1>contract</h1>
+ <div id="source"></div>
+ <div id='create'>
+ <button type="button" onClick="createExampleContract();">create example contract</button>
+ </div>
+ <div id='call' style='visibility: hidden;'>
+ <input type="number" id="value" onkeyup='callExampleContract()'></input>
+ <input type="number" id="value2" onkeyup='callExampleContract()'></input>
+ </div>
+ <div id="result"></div>
+</body>
+</html>
+
diff --git a/cmd/mist/assets/ext/ethereum.js/example/event.html b/cmd/mist/assets/ext/ethereum.js/example/event.html
new file mode 100644
index 000000000..84d302437
--- /dev/null
+++ b/cmd/mist/assets/ext/ethereum.js/example/event.html
@@ -0,0 +1,120 @@
+<!doctype>
+<html>
+ <head>
+ <script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script>
+ <script type="text/javascript" src="../dist/ethereum.js"></script>
+ <script type="text/javascript">
+ var web3 = require('web3');
+ web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080'));
+
+ var desc = [{
+ "type":"event",
+ "inputs": [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}],
+ "name":"Event"
+ }, {
+ "type":"event",
+ "inputs": [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}],
+ "name":"Event2"
+ }, {
+ "type":"function",
+ "inputs": [{"name":"a","type":"uint256"}],
+ "name":"foo",
+ "outputs": []
+ }];
+
+ var address = '0x01';
+
+ var contract = web3.eth.contract(address, desc);
+
+ function test1() {
+ // "{"topic":["0x83c9849c","0xc4d76332"],"address":"0x01"}"
+ web3.eth.watch(contract).changed(function (res) {
+
+ });
+ };
+
+ function test2() {
+ // "{"topic":["0x83c9849c"],"address":"0x01"}"
+ web3.eth.watch(contract.Event).changed(function (res) {
+
+ });
+ };
+
+ function test3() {
+ // "{"topic":["0x83c9849c"],"address":"0x01"}"
+ contract.Event().changed(function (res) {
+
+ });
+ };
+
+ function test4() {
+ // "{"topic":["0x83c9849c","0000000000000000000000000000000000000000000000000000000000000045"],"address":"0x01"}"
+ contract.Event({a: 69}).changed(function (res) {
+
+ });
+ };
+
+ function test5() {
+ // "{"topic":["0x83c9849c",["0000000000000000000000000000000000000000000000000000000000000045","000000000000000000000000000000000000000000000000000000000000002a"]],"address":"0x01"}"
+ contract.Event({a: [69, 42]}).changed(function (res) {
+
+ });
+ };
+
+ function test6() {
+ // "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"max":100,"address":"0x01"}"
+ contract.Event({a: 30}, {max: 100}).changed(function (res) {
+
+ });
+ };
+
+ function test7() {
+ // "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"address":"0x01"}"
+ web3.eth.watch(contract.Event, {a: 30}).changed(function (res) {
+
+ });
+ };
+
+ function test8() {
+ // "{"topic":["0x83c9849c","000000000000000000000000000000000000000000000000000000000000001e"],"max":100,"address":"0x01"}"
+ web3.eth.watch(contract.Event, {a: 30}, {max: 100}).changed(function (res) {
+
+ });
+ };
+
+ // not valid
+ // function testX() {
+ // web3.eth.watch([contract.Event, contract.Event2]).changed(function (res) {
+ // });
+ // };
+
+ </script>
+ </head>
+
+ <body>
+ <div>
+ <button type="button" onClick="test1();">test1</button>
+ </div>
+ <div>
+ <button type="button" onClick="test2();">test2</button>
+ </div>
+ <div>
+ <button type="button" onClick="test3();">test3</button>
+ </div>
+ <div>
+ <button type="button" onClick="test4();">test4</button>
+ </div>
+ <div>
+ <button type="button" onClick="test5();">test5</button>
+ </div>
+ <div>
+ <button type="button" onClick="test6();">test6</button>
+ </div>
+ <div>
+ <button type="button" onClick="test7();">test7</button>
+ </div>
+ <div>
+ <button type="button" onClick="test8();">test8</button>
+ </div>
+ </body>
+</html>
diff --git a/cmd/mist/assets/ext/ethereum.js/example/event_inc.html b/cmd/mist/assets/ext/ethereum.js/example/event_inc.html
new file mode 100644
index 000000000..17df9d681
--- /dev/null
+++ b/cmd/mist/assets/ext/ethereum.js/example/event_inc.html
@@ -0,0 +1,66 @@
+<!doctype>
+<html>
+ <head>
+ <script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script>
+ <script type="text/javascript" src="../dist/ethereum.js"></script>
+ <script type="text/javascript">
+ var web3 = require('web3');
+ web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080'));
+
+ var source = "" +
+ "contract Contract { " +
+ " event Incremented(bool indexed odd, uint x); " +
+ " function Contract() { " +
+ " x = 69; " +
+ " } " +
+ " function inc() { " +
+ " ++x; " +
+ " Incremented(x % 2 == 1, x); " +
+ " } " +
+ " uint x; " +
+ "}";
+
+ var desc = [{
+ "type":"event",
+ "name":"Incremented",
+ "inputs": [{"name":"odd","type":"bool","indexed":true},{"name":"x","type":"uint","indexed":false}],
+ }, {
+ "type":"function",
+ "name":"inc",
+ "inputs": [],
+ "outputs": []
+ }];
+
+ var address;
+ var contract;
+
+ var update = function (x) {
+ document.getElementById('result').innerText = JSON.stringify(x);
+ };
+
+ var createContract = function () {
+ address = web3.eth.transact({code: web3.eth.solidity(source)});
+ contract = web3.eth.contract(address, desc);
+ contract.Incremented({odd: true}).changed(update);
+
+ };
+
+ var callContract = function () {
+ contract.call().inc();
+ };
+
+
+ </script>
+ </head>
+
+ <body>
+ <div>
+ <button type="button" onClick="createContract();">create contract</button>
+ </div>
+ <div>
+ <button type="button" onClick="callContract();">test1</button>
+ </div>
+ <div id="result">
+ </div>
+ </body>
+</html>
diff --git a/cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html b/cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html
new file mode 100644
index 000000000..212e582dc
--- /dev/null
+++ b/cmd/mist/assets/ext/ethereum.js/example/natspec_contract.html
@@ -0,0 +1,77 @@
+<!doctype>
+<html>
+
+<head>
+<script type="text/javascript" src="js/bignumber.js/bignumber.min.js"></script>
+<script type="text/javascript" src="../dist/ethereum.js"></script>
+<script type="text/javascript">
+
+ var web3 = require('web3');
+ web3.setProvider(new web3.providers.QtSyncProvider());
+
+ // solidity source code
+ var source = "" +
+ "contract test {\n" +
+ " /// @notice Will multiply `a` by 7. \n" +
+ " function multiply(uint a) returns(uint d) {\n" +
+ " return a * 7;\n" +
+ " }\n" +
+ "}\n";
+
+ // contract description, this will be autogenerated somehow
+ var desc = [{
+ "name": "multiply(uint256)",
+ "type": "function",
+ "inputs": [
+ {
+ "name": "a",
+ "type": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "d",
+ "type": "uint256"
+ }
+ ]
+ }];
+
+ var contract;
+
+ function createExampleContract() {
+ // hide create button
+ document.getElementById('create').style.visibility = 'hidden';
+ document.getElementById('source').innerText = source;
+
+ // create contract
+ var address = web3.eth.transact({code: web3.eth.solidity(source)});
+ contract = web3.eth.contract(address, desc);
+ document.getElementById('call').style.visibility = 'visible';
+ }
+
+ function callExampleContract() {
+ // this should be generated by ethereum
+ var param = parseInt(document.getElementById('value').value);
+
+ // transaction does not return any result, cause it's not synchronous and we don't know,
+ // when it will be processed
+ contract.transact().multiply(param);
+ document.getElementById('result').innerText = 'transaction made';
+ }
+
+</script>
+</head>
+<body>
+ <h1>contract</h1>
+ <div id="source"></div>
+ <div id='create'>
+ <button type="button" onClick="createExampleContract();">create example contract</button>
+ </div>
+ <div id='call' style='visibility: hidden;'>
+ <input type="number" id="value"></input>
+ <button type="button" onClick="callExampleContract()">Call Contract</button>
+ </div>
+ <div id="result"></div>
+</body>
+</html>
+
diff --git a/cmd/mist/assets/ext/ethereum.js/example/node-app.js b/cmd/mist/assets/ext/ethereum.js/example/node-app.js
index f63fa9115..8c2fc0ba3 100644
--- a/cmd/mist/assets/ext/ethereum.js/example/node-app.js
+++ b/cmd/mist/assets/ext/ethereum.js/example/node-app.js
@@ -1,16 +1,12 @@
#!/usr/bin/env node
-require('es6-promise').polyfill();
-
var web3 = require("../index.js");
-web3.setProvider(new web3.providers.HttpRpcProvider('http://localhost:8080'));
+web3.setProvider(new web3.providers.HttpSyncProvider('http://localhost:8080'));
+
+var coinbase = web3.eth.coinbase;
+console.log(coinbase);
+
+var balance = web3.eth.balanceAt(coinbase);
+console.log(balance);
-web3.eth.coinbase.then(function(result){
- console.log(result);
- return web3.eth.balanceAt(result);
-}).then(function(balance){
- console.log(web3.toDecimal(balance));
-}).catch(function(err){
- console.log(err);
-}); \ No newline at end of file