aboutsummaryrefslogtreecommitdiffstats
path: root/internal
diff options
context:
space:
mode:
authorΞTHΞЯSPHΞЯΞ <{viktor.tron,nagydani,zsfelfoldi}@gmail.com>2016-08-30 03:18:00 +0800
committerFelix Lange <fjl@twurst.com>2016-08-31 22:19:40 +0800
commit4d300e4dece56535f56ccc32330340ce89e42581 (patch)
tree135838bfae03437eb2a50c6d66de4d66b20c3220 /internal
parent1f58b2d084b65eaec9aa2c2ecb1d3aae50d894b3 (diff)
downloadgo-tangerine-4d300e4dece56535f56ccc32330340ce89e42581.tar.gz
go-tangerine-4d300e4dece56535f56ccc32330340ce89e42581.tar.zst
go-tangerine-4d300e4dece56535f56ccc32330340ce89e42581.zip
swarm: plan bee for content storage and distribution on web3
This change imports the Swarm protocol codebase. Compared to the 'swarm' branch, a few mostly cosmetic changes had to be made: * The various redundant log message prefixes are gone. * All files now have LGPLv3 license headers. * Minor code changes were needed to please go vet and make the tests pass on Windows. * Further changes were required to adapt to the go-ethereum develop branch and its new Go APIs. Some code has not (yet) been brought over: * swarm/cmd/bzzhash: will reappear as cmd/bzzhash later * swarm/cmd/bzzup.sh: will be reimplemented in cmd/bzzup * swarm/cmd/makegenesis: will reappear somehow * swarm/examples/album: will move to a separate repository * swarm/examples/filemanager: ditto * swarm/examples/files: will not be merged * swarm/test/*: will not be merged * swarm/services/swear: will reappear as contracts/swear when needed
Diffstat (limited to 'internal')
-rw-r--r--internal/web3ext/web3ext.go160
1 files changed, 151 insertions, 9 deletions
diff --git a/internal/web3ext/web3ext.go b/internal/web3ext/web3ext.go
index 748b37c84..04b13e483 100644
--- a/internal/web3ext/web3ext.go
+++ b/internal/web3ext/web3ext.go
@@ -18,17 +18,159 @@
package web3ext
var Modules = map[string]string{
- "admin": Admin_JS,
- "debug": Debug_JS,
- "eth": Eth_JS,
- "miner": Miner_JS,
- "net": Net_JS,
- "personal": Personal_JS,
- "rpc": RPC_JS,
- "shh": Shh_JS,
- "txpool": TxPool_JS,
+ "admin": Admin_JS,
+ "bzz": Bzz_JS,
+ "chequebook": Chequebook_JS,
+ "debug": Debug_JS,
+ "ens": ENS_JS,
+ "eth": Eth_JS,
+ "miner": Miner_JS,
+ "net": Net_JS,
+ "personal": Personal_JS,
+ "rpc": RPC_JS,
+ "shh": Shh_JS,
+ "txpool": TxPool_JS,
}
+const Bzz_JS = `
+web3._extend({
+ property: 'bzz',
+ methods:
+ [
+ new web3._extend.Method({
+ name: 'blockNetworkRead',
+ call: 'bzz_blockNetworkRead',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'syncEnabled',
+ call: 'bzz_syncEnabled',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'swapEnabled',
+ call: 'bzz_swapEnabled',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'download',
+ call: 'bzz_download',
+ params: 2,
+ inputFormatter: [null, null]
+ }),
+ new web3._extend.Method({
+ name: 'upload',
+ call: 'bzz_upload',
+ params: 2,
+ inputFormatter: [null, null]
+ }),
+ new web3._extend.Method({
+ name: 'retrieve',
+ call: 'bzz_retrieve',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'store',
+ call: 'bzz_store',
+ params: 2,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'get',
+ call: 'bzz_get',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'put',
+ call: 'bzz_put',
+ params: 2,
+ inputFormatter: [null, null]
+ }),
+ new web3._extend.Method({
+ name: 'modify',
+ call: 'bzz_modify',
+ params: 4,
+ inputFormatter: [null, null, null, null]
+ })
+ ],
+ properties:
+ [
+ new web3._extend.Property({
+ name: 'hive',
+ getter: 'bzz_hive'
+ }),
+ new web3._extend.Property({
+ name: 'info',
+ getter: 'bzz_info',
+ }),
+ ]
+});
+`
+
+const ENS_JS = `
+web3._extend({
+ property: 'ens',
+ methods:
+ [
+ new web3._extend.Method({
+ name: 'register',
+ call: 'ens_register',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'setContentHash',
+ call: 'ens_setContentHash',
+ params: 2,
+ inputFormatter: [null, null]
+ }),
+ new web3._extend.Method({
+ name: 'resolve',
+ call: 'ens_resolve',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ ]
+})
+`
+
+const Chequebook_JS = `
+web3._extend({
+ property: 'chequebook',
+ methods:
+ [
+ new web3._extend.Method({
+ name: 'deposit',
+ call: 'chequebook_deposit',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Property({
+ name: 'balance',
+ getter: 'chequebook_balance',
+ outputFormatter: web3._extend.utils.toDecimal
+ }),
+ new web3._extend.Method({
+ name: 'cash',
+ call: 'chequebook_cash',
+ params: 1,
+ inputFormatter: [null]
+ }),
+ new web3._extend.Method({
+ name: 'issue',
+ call: 'chequebook_issue',
+ params: 2,
+ inputFormatter: [null, null]
+ }),
+ ]
+});
+`
+
const Admin_JS = `
web3._extend({
property: 'admin',