move test_app to test_apps

This commit is contained in:
Iuri Matias 2018-03-29 18:20:45 -04:00
parent 8b326d86db
commit a00119f5dc
107 changed files with 9754 additions and 2 deletions

View File

@ -5,8 +5,9 @@
"scripts": {
"lint": "./node_modules/.bin/eslint lib/",
"test": "mocha test/ --no-timeouts",
"testdapp": "cd test_app/ && npm install && ../bin/embark test",
"fulltest": "npm run lint && npm run test && npm run testdapp"
"testdapp_1": "cd test_apps/test_app/ && npm install && ../../bin/embark test",
"testdapp_2": "cd test_apps/contracts_app/ && npm install && ../../bin/embark test",
"fulltest": "npm run lint && npm run test && npm run testdapp_1 && npm run testdapp_2"
},
"bin": {
"embark": "./bin/embark"

View File

Before

Width:  |  Height:  |  Size: 1011 B

After

Width:  |  Height:  |  Size: 1011 B

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,356 @@
{
"0x72820315e7168f6f4891000ae8d366aa6e64a2e0a7648b05b18d952dd7b475ff": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0x4Ecfa18e475b4F217DC42A4a259278b00338a25a"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0x87D6CeAb780C32F45f259724650E5b2B98DF29c3"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0x607F0f839217d9066962c79Bd22DD2A511CAC37e"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0xa86f068F9e7Be2f603e6B6196FA9659FCe8A0b57"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0x589779894F444a42FbbfdFda035F9f3967149c08"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0x72B19204e0f1D318E41A90a2907C377FE3670D51"
},
"0xf923326d69c0ac17de37926bc0c36e57f5b2485fe6fadf958ada014610cd01fd": {
"name": "SomeContract",
"address": "0x5b2d8270D0068C1E5A714fea1B50642b305C06bd"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0x9766f9364F0832589AFcaF7387aB43b6f5AA96b9"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x8dE0ca96f288D91a84B89701465AFD004B69C470"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0x976b67838e893A1AD6e2a7fc68b3df5462A3d7b7"
},
"0x4f149fd3d62e8d24542c8d508a8b419d03838808b860dbcd5e82680ba91727ee": {
"name": "AnotherStorage",
"address": "0x148001ae8D7a5833Ecdbd0ec490796fdF4235505"
}
},
"name": "development"
},
"0xbd9229383cb995c9041f12d0ed3a3479f38d05c34cd4d3dd972b31c1fddb978b": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0xD309079E12C616f1333175D037A078c889760451"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0x49e2a14a3E13FA555B47f2eE80e4250A1c5E6D4b"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0xF917baE4284443662230e51313a838EDf7b1d477"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0x72949D7d7b2c3f7016fF2b48669485f59aA45ea5"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0x16a9ea7916FAAAE38d9ef07dE6CE7abCf4C5B39d"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0xBAB1e7ab34B6de4BbA91865CaAEBf1282Ea15E77"
},
"0x30dfcaf8930098e8f1d51c99f1739235011f4cb31cf29c8e7593b2d84a13534f": {
"name": "SomeContract",
"address": "0xc0c748D1096821B60CdB470a4aC54bb57a43a149"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0xd48C299d58fD5171234FeE3ABE00d51b128fD10d"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x70FF00ddf8e6135C52C492d368Fd50c02b16D759"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0x9473A926a115097368c4E941745361ff2780e626"
},
"0x6ed12184b4c1a117e5c6040ef7ba270dd19c5303f89e1ba07d40ccc9094d1bef": {
"name": "AnotherStorage",
"address": "0x10C53867C17eDc04a92008B9aDE42Cd51397b68F"
}
},
"name": "development"
},
"0xaf15a99b63e24757cebcdcbd1aa386d863e04c902a614a5129f8be82ffc892ce": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0x372288011682a9ae1F7b7A783B5B89C600fe014B"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0xa2D7eDe07C2c9092641d95a9d07d910E6A861857"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0xD92A24BD010Df9668DE03e452505C0C1DBc3AaCc"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0x1E0F5cA4Bdf406Fa8b72234511b6F789FC5383D9"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xc7Ce790F06952a21bc3E29079929d72404Ff02C1"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0x998f4ACDdcE5Ca2CAf9e2A48a35E728f7F2b3c64"
},
"0x5424fc725f0ba178b606596bfd56f6438ab5182d20c3d39c01c824ce729c5a17": {
"name": "SomeContract",
"address": "0x899f6D2d878303fB715de145a412a3a329c66f72"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0xE567d9CBaf22d27a5C67C1421B7ADE1D7E5B9279"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x757dFfbEbc92cb6cb457ff0aE52147840e2aDA6A"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0x1741BB896eE47e2Fb757FF2b99811346537A4D6c"
},
"0x9d16daf36e60ee15055f39a1c15597a9ed4d06f431f4f4fa7baa1a1fb13b62c5": {
"name": "AnotherStorage",
"address": "0xb7cF0E659253bc3bAdD636356790383896222C8C"
}
},
"name": "development"
},
"0x895dd3027dedd81d3dfd66da65bc72bdda7c94a6ab3ef7f9844b7f80e88ecdbb": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0x8db41B9F057Acfa544E0038f4891bde1a26eb218"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0xF1b2103E43C307CF327E015380240DDE094DB6D2"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0xEF8b4a610079c0bB9cE1b2fD36Df4c94f17Fee68"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0x3c093A77D5c5Dc3b793Df350Dc225072261201a9"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xD190B54d5618b6A7D1343CB2f2E1A6689DAFad8C"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0xF9816748F8185Aca4F0ccC8F1A2B870DB0279B52"
},
"0x86e2e623978a4693bfa49767193a2f546c589213ca398e4801e1be93436e9965": {
"name": "SomeContract",
"address": "0x75cE8579Aff2F22801B4Ab67Db6B9496F1AFbB28"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0x4C1290302C36939550DEBDb2116c584FDb84cBfA"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x759ce044ef0E86dE4780d5023E47860c25C9e493"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0xAD93FEc10691521de0290159E4D0412f24881F98"
},
"0x2d151cdba2d74d42a8d04da95fd1a8e376a9209793aeec62cb467c62d7c24815": {
"name": "AnotherStorage",
"address": "0x06Af6E548985Ae0406ed9632C40B1158fD4fA9F2"
},
"0x0e0275c10e511f694564b0c4e3def28e38fe6ba0c1f26ab6c1cb86fdd73a3287": {
"name": "Assert",
"address": "0x16afe4373cF5604E9A68Ab075c96ec4d35b4899a"
},
"0x53a9493497f8764439f2b6062994f8fe3d3c5a66450099244c0f8f32185a15df": {
"name": "ContractArgs",
"address": "0xF80b4e0562a3bc5Eb1CCc0315F7dC6b771CE4Dec"
},
"0xd1b69fd42ab462fb8af1009558bf53dbcc873ee43b3f759afcd54aabb4640338": {
"name": "ZAMyLib2",
"address": "0x5d72Da0c801AAEB628Fe4d5E9509f1a47C352230"
},
"0x0d2c4116b7b36aec94353056c6f2ffd4179b1121b98d89164106df61d617d427": {
"name": "Test2",
"address": "0x2CE5fDed00eC8f4451D02De6E446B35D8BdA0c40"
},
"0x6cefd24d92c98376fa48a4b79fa31b4411bff757599d56154a46369cca076f5c": {
"name": "SimpleStorage",
"address": "0x4E09b82B9c4bC99903a970FB3c6F2c7Ee09c0f94"
},
"0x8f2608ad94100e469ed2ed1c0b19e674c6952bbc76b2969c51b7e473f31dc917": {
"name": "SomeContract",
"address": "0xbd2a6708717e36BadB018473c282cf15187C5DC5"
},
"0x926ab20d492caa04f4c9b91ae0394da1a49689e1984278a8161d1b96332ba8e5": {
"name": "ZAMyLib",
"address": "0xc902922B18E4Ce3311A1585E472169A45d5addA8"
},
"0xba49165b12f1fbd15c17caf1b3d55d30b9607f1d74102732106ce1575df4bb1d": {
"name": "Test",
"address": "0x0bb6D11BdA472a77947CA54160C478EB656190E8"
},
"0x01ebbfdb113eb2e485a246c5fd98dbd8b78152c489ca8135eaae0dba7ef57519": {
"name": "AnotherStorage",
"address": "0x3D68bc66F0fC8D13beDd164042371c29527B46EF"
}
},
"name": "development"
},
"0x9d41dc2207c7fe6525d412f931ecda49b914da5dce0be4d32f5041c36fccd9db": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x0e0275c10e511f694564b0c4e3def28e38fe6ba0c1f26ab6c1cb86fdd73a3287": {
"name": "Assert",
"address": "0xF8e129d5027150371Ce9F2E0456244AdE5344B16"
},
"0x53a9493497f8764439f2b6062994f8fe3d3c5a66450099244c0f8f32185a15df": {
"name": "ContractArgs",
"address": "0x56c6cb35C27205f3dc4e9F7042514e315fbD4698"
},
"0xd1b69fd42ab462fb8af1009558bf53dbcc873ee43b3f759afcd54aabb4640338": {
"name": "ZAMyLib2",
"address": "0x6981C4C907B61B65Dc5320de16fb247f8Ed058f7"
},
"0x0d2c4116b7b36aec94353056c6f2ffd4179b1121b98d89164106df61d617d427": {
"name": "Test2",
"address": "0xFFfeE5AbaDAa853FBF18DF6135fA53D570294547"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xBC6667fb518871FD0efc3C233367941a9C81136C"
},
"0x6cefd24d92c98376fa48a4b79fa31b4411bff757599d56154a46369cca076f5c": {
"name": "SimpleStorage",
"address": "0x9DaD2dA0148d5c8e8cc5cCDefE61583C3ca8daBE"
},
"0x04da6bdbbb01369d76fc62a954d9debb10bbb457957c041148e2475cdc3ddffa": {
"name": "SomeContract",
"address": "0x1B6782Fcdd369be19A9e1E3270993711fd9cc600"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0xAf3DAD7F3894349eF4FDfAFd8A7d41B049605167"
},
"0x926ab20d492caa04f4c9b91ae0394da1a49689e1984278a8161d1b96332ba8e5": {
"name": "ZAMyLib",
"address": "0xF22D6EC1d2e09A9b3D33649E0b5fF4A3369cc5B9"
},
"0xba49165b12f1fbd15c17caf1b3d55d30b9607f1d74102732106ce1575df4bb1d": {
"name": "Test",
"address": "0x5658777E87dBdC45E3039Fc6b2fbB98075CBff1B"
},
"0xdc40c276c6ffaccab11ed135ad1b27822456151058ad622e7b81182e2cd7617e": {
"name": "AnotherStorage",
"address": "0xF14211c7cEf238286FA1019bfC0B33c1d59bB16d"
}
},
"name": "development"
},
"0x2d42bfc8e599949a9c1ba2f2b3b8dd337653f7572bc7cb9d4b8c67cfcdaf85fa": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x0e0275c10e511f694564b0c4e3def28e38fe6ba0c1f26ab6c1cb86fdd73a3287": {
"name": "Assert",
"address": "0x43766Fa2a1612a31d16148364238FD681F56569d"
},
"0x53a9493497f8764439f2b6062994f8fe3d3c5a66450099244c0f8f32185a15df": {
"name": "ContractArgs",
"address": "0x1dd94D1C0F775239498676772C942B687780599c"
},
"0xd1b69fd42ab462fb8af1009558bf53dbcc873ee43b3f759afcd54aabb4640338": {
"name": "ZAMyLib2",
"address": "0xdE2856b6c433C7b5C41CE7C2E918788643D2d507"
},
"0x0d2c4116b7b36aec94353056c6f2ffd4179b1121b98d89164106df61d617d427": {
"name": "Test2",
"address": "0xFf40bB59716e7D84238fFB0bbE766f8D4954455C"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xFd958962FDF763bFc33e2d02D497075F4069D476"
},
"0x6cefd24d92c98376fa48a4b79fa31b4411bff757599d56154a46369cca076f5c": {
"name": "SimpleStorage",
"address": "0xf06B15d8eF571eF4bE5Fe51c310EAa952089B6AD"
},
"0xf855ad01705745e324292843c2fcd25d9c199fda7f40a8a104a010bd722d24b4": {
"name": "SomeContract",
"address": "0x84f92D023ee8Bdc04B8dD3353a7Eb4d67381C8da"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0x78060A2fc7F6062948Bc9B1ffF9D44b1e6C2af3C"
},
"0x926ab20d492caa04f4c9b91ae0394da1a49689e1984278a8161d1b96332ba8e5": {
"name": "ZAMyLib",
"address": "0xd4d4cAeea122EA36e64187C91685572c47390FD1"
},
"0xba49165b12f1fbd15c17caf1b3d55d30b9607f1d74102732106ce1575df4bb1d": {
"name": "Test",
"address": "0x610Da846012A1Ec4beB082136e63779A3c05279B"
},
"0xb3e3400994923c528ad8a0a031987bd20f10d13920194950577bd394999438ab": {
"name": "AnotherStorage",
"address": "0xB8B78d98D55A01503E76e9e53c733824c5C4A076"
}
},
"name": "development"
}
}

5
test_apps/test_app/.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
.embark/
node_modules/
dist/
config/production/password
config/livenet/password

View File

@ -0,0 +1,8 @@
Test App for integration testing purposes.
```../bin/embark run``` to check if everything is behaving as expected
```../bin/embark test``` to see tests are working as expected
```dist/index.html``` and ```dist/test.html``` to check different functionality

View File

@ -0,0 +1,10 @@
pragma solidity ^0.4.17;
contract AnotherStorage {
address public simpleStorageAddress;
address simpleStorageAddress2;
function AnotherStorage(address addr) public {
simpleStorageAddress = addr;
}
}

View File

@ -0,0 +1,14 @@
contract ContractArgs {
address public addr_1;
address public addr_2;
uint public value;
function() public payable { }
function ContractArgs(address[] _addresses, uint initialValue) public {
addr_1 = _addresses[0];
addr_2 = _addresses[1];
value = initialValue;
}
}

View File

@ -0,0 +1,66 @@
// https://github.com/nexusdev/erc20/blob/master/contracts/base.sol
pragma solidity ^0.4.2;
contract Token {
event Transfer(address indexed from, address indexed to, uint value);
event Approval( address indexed owner, address indexed spender, uint value);
mapping( address => uint ) _balances;
mapping( address => mapping( address => uint ) ) _approvals;
uint public _supply;
//uint public _supply2;
function Token( uint initial_balance ) {
_balances[msg.sender] = initial_balance;
_supply = initial_balance;
}
function totalSupply() constant returns (uint supply) {
return _supply;
}
function balanceOf( address who ) constant returns (uint value) {
return _balances[who];
}
function transfer( address to, uint value) returns (bool ok) {
if( _balances[msg.sender] < value ) {
throw;
}
if( !safeToAdd(_balances[to], value) ) {
throw;
}
_balances[msg.sender] -= value;
_balances[to] += value;
Transfer( msg.sender, to, value );
return true;
}
function transferFrom( address from, address to, uint value) returns (bool ok) {
// if you don't have enough balance, throw
if( _balances[from] < value ) {
throw;
}
// if you don't have approval, throw
if( _approvals[from][msg.sender] < value ) {
throw;
}
if( !safeToAdd(_balances[to], value) ) {
throw;
}
// transfer and return true
_approvals[from][msg.sender] -= value;
_balances[from] -= value;
_balances[to] += value;
Transfer( from, to, value );
return true;
}
function approve(address spender, uint value) returns (bool ok) {
// TODO: should increase instead
_approvals[msg.sender][spender] = value;
Approval( msg.sender, spender, value );
return true;
}
function allowance(address owner, address spender) constant returns (uint _allowance) {
return _approvals[owner][spender];
}
function safeToAdd(uint a, uint b) internal returns (bool) {
return (a + b >= a);
}
}

View File

@ -0,0 +1,42 @@
pragma solidity ^0.4.17;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address public owner;
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
function Ownable() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
if (msg.sender != owner) {
revert();
}
_;
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
if (newOwner != address(0)) {
owner = newOwner;
}
}
}

View File

@ -0,0 +1,42 @@
pragma solidity ^0.4.17;
import "ownable.sol";
library Assert {
event TestEvent(bool passed, string message);
function triggerEvent(bool passed, string message) internal {
TestEvent(passed, message);
}
}
contract SimpleStorage is Ownable {
uint public storedData;
function() public payable { }
function SimpleStorage(uint initialValue) public {
storedData = initialValue;
}
function set(uint x) public {
storedData = x;
for(uint i = 0; i < 1000; i++) {
storedData += i;
}
Assert.triggerEvent(true, "hi");
}
function set2(uint x, uint unusedGiveWarning) public onlyOwner {
storedData = x;
}
function get() public view returns (uint retVal) {
return storedData;
}
function getS() public pure returns (string d) {
return "hello";
}
}

View File

@ -0,0 +1,14 @@
contract SomeContract {
address public addr_1;
address public addr_2;
uint public value;
function() public payable { }
function SomeContract(address[] _addresses, uint initialValue) public {
addr_1 = _addresses[0];
addr_2 = _addresses[1];
value = initialValue;
}
}

View File

@ -0,0 +1,22 @@
pragma solidity ^0.4.17;
library ZAMyLib {
function add(uint _a, uint _b) public pure returns (uint _c) {
return _a + _b;
}
}
contract Test {
address public addr;
function testAdd() public pure returns (uint _result) {
return ZAMyLib.add(1, 2);
}
function changeAddress(address _addr) public {
addr = _addr;
}
}

View File

@ -0,0 +1,16 @@
pragma solidity ^0.4.17;
import "./zlib2.sol";
contract Test2 {
address public addr;
function testAdd() public pure returns (uint _result) {
return ZAMyLib2.add(1, 2);
}
function changeAddress(address _addr) public {
addr = _addr;
}
}

View File

@ -0,0 +1,9 @@
pragma solidity ^0.4.17;
library ZAMyLib2 {
function add(uint _a, uint _b) public pure returns (uint _c) {
return _a + _b;
}
}

View File

View File

@ -0,0 +1,587 @@
/*!
* Bootstrap v3.3.6 (http://getbootstrap.com)
* Copyright 2011-2015 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
}
.btn-default:active,
.btn-primary:active,
.btn-success:active,
.btn-info:active,
.btn-warning:active,
.btn-danger:active,
.btn-default.active,
.btn-primary.active,
.btn-success.active,
.btn-info.active,
.btn-warning.active,
.btn-danger.active {
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
}
.btn-default.disabled,
.btn-primary.disabled,
.btn-success.disabled,
.btn-info.disabled,
.btn-warning.disabled,
.btn-danger.disabled,
.btn-default[disabled],
.btn-primary[disabled],
.btn-success[disabled],
.btn-info[disabled],
.btn-warning[disabled],
.btn-danger[disabled],
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-danger {
-webkit-box-shadow: none;
box-shadow: none;
}
.btn-default .badge,
.btn-primary .badge,
.btn-success .badge,
.btn-info .badge,
.btn-warning .badge,
.btn-danger .badge {
text-shadow: none;
}
.btn:active,
.btn.active {
background-image: none;
}
.btn-default {
text-shadow: 0 1px 0 #fff;
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #dbdbdb;
border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus {
background-color: #e0e0e0;
background-position: 0 -15px;
}
.btn-default:active,
.btn-default.active {
background-color: #e0e0e0;
border-color: #dbdbdb;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
background-color: #e0e0e0;
background-image: none;
}
.btn-primary {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #245580;
}
.btn-primary:hover,
.btn-primary:focus {
background-color: #265a88;
background-position: 0 -15px;
}
.btn-primary:active,
.btn-primary.active {
background-color: #265a88;
border-color: #245580;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #265a88;
background-image: none;
}
.btn-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #3e8f3e;
}
.btn-success:hover,
.btn-success:focus {
background-color: #419641;
background-position: 0 -15px;
}
.btn-success:active,
.btn-success.active {
background-color: #419641;
border-color: #3e8f3e;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
background-color: #419641;
background-image: none;
}
.btn-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #28a4c9;
}
.btn-info:hover,
.btn-info:focus {
background-color: #2aabd2;
background-position: 0 -15px;
}
.btn-info:active,
.btn-info.active {
background-color: #2aabd2;
border-color: #28a4c9;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
background-color: #2aabd2;
background-image: none;
}
.btn-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #e38d13;
}
.btn-warning:hover,
.btn-warning:focus {
background-color: #eb9316;
background-position: 0 -15px;
}
.btn-warning:active,
.btn-warning.active {
background-color: #eb9316;
border-color: #e38d13;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
background-color: #eb9316;
background-image: none;
}
.btn-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-color: #b92c28;
}
.btn-danger:hover,
.btn-danger:focus {
background-color: #c12e2a;
background-position: 0 -15px;
}
.btn-danger:active,
.btn-danger.active {
background-color: #c12e2a;
border-color: #b92c28;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
background-color: #c12e2a;
background-image: none;
}
.thumbnail,
.img-thumbnail {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
background-color: #e8e8e8;
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
background-color: #2e6da4;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.navbar-default {
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
}
.navbar-brand,
.navbar-nav > li > a {
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
}
.navbar-inverse {
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
background-repeat: repeat-x;
border-radius: 4px;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
background-repeat: repeat-x;
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
}
.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}
.navbar-static-top,
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
}
@media (max-width: 767px) {
.navbar .navbar-nav .open .dropdown-menu > .active > a,
.navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
color: #fff;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
}
.alert {
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
}
.alert-success {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
background-repeat: repeat-x;
border-color: #b2dba1;
}
.alert-info {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
background-repeat: repeat-x;
border-color: #9acfea;
}
.alert-warning {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
background-repeat: repeat-x;
border-color: #f5e79e;
}
.alert-danger {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
background-repeat: repeat-x;
border-color: #dca7a7;
}
.progress {
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-success {
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-info {
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-warning {
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-danger {
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
background-repeat: repeat-x;
}
.progress-bar-striped {
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
}
.list-group {
border-radius: 4px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
text-shadow: 0 -1px 0 #286090;
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
background-repeat: repeat-x;
border-color: #2b669a;
}
.list-group-item.active .badge,
.list-group-item.active:hover .badge,
.list-group-item.active:focus .badge {
text-shadow: none;
}
.panel {
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
}
.panel-default > .panel-heading {
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
background-repeat: repeat-x;
}
.panel-primary > .panel-heading {
background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
background-repeat: repeat-x;
}
.panel-success > .panel-heading {
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
background-repeat: repeat-x;
}
.panel-info > .panel-heading {
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
background-repeat: repeat-x;
}
.panel-warning > .panel-heading {
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
background-repeat: repeat-x;
}
.panel-danger > .panel-heading {
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
background-repeat: repeat-x;
}
.well {
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
background-repeat: repeat-x;
border-color: #dcdcdc;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
}
/*# sourceMappingURL=bootstrap-theme.css.map */

6760
test_apps/test_app/app/css/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
div {
margin: 15px;
}
.logs {
background-color: black;
font-size: 14px;
color: white;
font-weight: bold;
padding: 10px;
border-radius: 8px;
}
.tab-content {
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
padding: 10px;
margin: 0px;
}
.nav-tabs {
margin-bottom: 0;
}
.status-offline {
vertical-align: middle;
margin-left: 5px;
margin-top: 4px;
width: 12px;
height: 12px;
background: red;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
.status-online {
vertical-align: middle;
margin-left: 5px;
margin-top: 4px;
width: 12px;
height: 12px;
background: mediumseagreen;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1011 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,113 @@
<html>
<head>
<title>Embark - SimpleStorage Demo</title>
<!-- <link rel="stylesheet" href="css/app.css"> -->
<!--<script src="js/jquery.js"></script> -->
<!-- <script src="js/bootstrap.js"></script> -->
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
</head>
<body class="container">
<div id="root"></div>
<h3>Embark - Usage Example</h3>
<ul class="nav nav-tabs" role="tablist" id="myTabs">
<li role="presentation" class="active"><a href="#blockchain" aria-controls="blockchain" role="tab" data-toggle="tab">Blockchain</a></li>
<li role="presentation"><a href="#storage" aria-controls="storage" role="tab" data-toggle="tab">Decentralized Storage (IPFS)<span class="pull-right" id="status-storage"></a></li>
<li role="presentation"><a href="#communication" aria-controls="communication" role="tab" data-toggle="tab">P2P communication (Whisper/Orbit)<span class="pull-right" id="status-communication"></span></a></li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="blockchain">
<h3> 1. Set the value in the blockchain</h3>
<div class="form-group form-inline">
<input type="text" class="text form-control" value="10">
<button class="set btn btn-primary">Set Value</button>
<p>Once you set the value, the transaction will need to be mined and then the value will be updated on the blockchain.</p>
</div>
<h3> 2. Get the current value</h3>
<div class="form-group">
<div>
current value is <span class="value"></span>
</div>
<button class="get btn btn-primary">Get Value</button>
<p>Click the button to get the current value. The initial value is 100.</p>
</div>
<h3> 3. Contract Calls </h3>
<p>Javascript calls being made: </p>
<div class="logs">
</div>
</div>
<div role="tabpanel" class="tab-pane" id="storage">
<div class="error alert alert-danger" role="alert">The node you are using does not support IPFS. Please ensure <a href="https://github.com/ipfs/js-ipfs-api#cors" target="_blank">CORS</a> is setup for the IPFS node.</div>
<div id="storage-controls">
<h3>Save text to IPFS</h3>
<div class="form-group form-inline">
<input type="text" class="ipfsText text form-control" value="hello world!">
<button class="setIpfsText btn btn-primary">Save</button>
<p>generated Hash: <span class="textHash"></span></p>
</div>
<h3>Load text from IPFS given an hash</h3>
<div class="form-group form-inline">
<input type="text" class="textHash text form-control" size="60">
<button class="loadIpfsHash set btn btn-primary">Load</button>
<p>result: <span class="ipfsText"></span></p>
</div>
<h3>upload file to ipfs</h3>
<div class="form-group form-inline">
<input type="file" class="form-control">
<button class="uploadFile set btn btn-primary">upload</button>
<p>generated hash: <span class="fileIpfsHash"></span></p>
</div>
<h3>Get file or image from ipfs</h3>
<div class="form-group form-inline">
<input type="text" class="fileIpfsHash form-control" size="60">
<button class="loadIpfsFile set btn btn-primary">Load</button>
<p>file available at: <span class="ipfsFileUrl"></span></p>
<p><img class="ipfsImage" src=""></p>
</div>
<p>Javascript calls being made: </p>
<div class="logs">
<br> EmbarkJS.Storage.setProvider('ipfs',{server: 'localhost', port: '5001'})
</div>
</div>
</div>
<div role="tabpanel" class="tab-pane" id="communication">
<div class="error alert alert-danger" role="alert">The node you are using does not support Whisper</div>
<div class="errorVersion alert alert-danger" role="alert">The node uses an unsupported version of Whisper</div>
<div id="communication-controls">
<h3>Listen To channel</h3>
<div class="form-group form-inline listen">
<input type="text" class="channel text form-control" placeholder="channel">
<button class="listenToChannel set btn btn-primary">Start Listening</button>
<div id="subscribeList"></div>
<p>messages received:<p>
<div id="messagesList"></div>
</div>
<h3>Send Message</h3>
<div class="form-group form-inline send">
<input type="text" class="channel text form-control" placeholder="channel">
<input type="text" class="message text form-control" placeholder="message">
<button class="sendMessage set btn btn-primary">Send Message</button>
</div>
<p>Javascript calls being made: </p>
<div class="logs">
<br> EmbarkJS.Messages.setProvider('whisper')
</div>
</div>
</div>
</div>
<script src="js/app.js"></script>
</body>
</html>

View File

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,27 @@
import { Component } from 'react';
import SimpleStorage from 'Embark/contracts/SimpleStorage';
window.SimpleStorage = SimpleStorage;
class App extends Component {
action() {
console.log("calling...")
SimpleStorage.methods.get().call(function(err, value) {
alert(value);
})
}
render() {
return (
<div className="App">
<header className="App-header">
<h1 className="App-title" onClick={() => this.action() }>Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
}
export default App;

View File

@ -0,0 +1,3 @@
body {
background-color: black;
}

View File

@ -0,0 +1,7 @@
//import web3 from 'Embark/web3';
//console.log("foo");
//console.log(web3);
const FOO = "dude";
export default FOO;

View File

@ -0,0 +1,187 @@
/*globals $, SimpleStorage, document*/
import React, { Component } from 'react';
import EmbarkJS from 'Embark/EmbarkJS';
import SimpleStorage from 'Embark/contracts/SimpleStorage';
import Test from 'Embark/contracts/Test';
import Assert from 'Embark/contracts/Assert';
import ReactDOM from 'react-dom';
//import $ from './_vendor/jquery.min';
import $ from 'jquery';
//import 'bootstrap';
import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap/dist/css/bootstrap-theme.css';
//import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap/dist/js/bootstrap.min.js';
//import 'react-bootstrap/dist/react-bootstrap.min.js';
import { Navbar, Jumbotron, Button } from 'react-bootstrap';
window.EmbarkJS = EmbarkJS;
window.SimpleStorage = SimpleStorage;
window.Test = Test;
window.Assert = Assert;
window.React = React;
import './foo.css';
import App from './app.js';
ReactDOM.render(<App />, document.getElementById('root'));
var addToLog = function(id, txt) {
$(id + " .logs").append("<br>" + txt);
};
// ===========================
// Blockchain example
// ===========================
$(document).ready(function() {
console.log([1,2,3].map(v => v + 1));
$("#blockchain button.set").click(function() {
var value = parseInt($("#blockchain input.text").val(), 10);
// If web3.js 1.0 is being used
if (EmbarkJS.isNewWeb3()) {
SimpleStorage.methods.set(value).send({from: web3.eth.defaultAccount, gas: 5300000});
addToLog("#blockchain", "SimpleStorage.methods.set(value).send({from: web3.eth.defaultAccount, gas: 5300000})");
} else {
SimpleStorage.set(value);
addToLog("#blockchain", "SimpleStorage.set(" + value + ")");
}
});
$("#blockchain button.get").click(function() {
// If web3.js 1.0 is being used
if (EmbarkJS.isNewWeb3()) {
SimpleStorage.methods.get().call(function(err, value) {
$("#blockchain .value").html(value);
});
addToLog("#blockchain", "SimpleStorage.methods.get(console.log)");
} else {
SimpleStorage.get().then(function(value) {
$("#blockchain .value").html(value.toNumber());
});
addToLog("#blockchain", "SimpleStorage.get()");
}
});
});
// ===========================
// Storage (IPFS) example
// ===========================
$(document).ready(function() {
// automatic set if config/storage.json has "enabled": true and "provider": "ipfs"
//EmbarkJS.Storage.setProvider('ipfs',{server: 'localhost', port: '5001'});
$("#storage .error").hide();
//EmbarkJS.Storage.ipfsConnection.version()
// .then(function(){
$("#status-storage").addClass('status-online');
$("#storage-controls").show();
// })
// .catch(function(err) {
// if(err){
// console.log("IPFS Connection Error => " + err.message);
// $("#storage .error").show();
// $("#status-storage").addClass('status-offline');
// $("#storage-controls").hide();
// }
// });
$("#storage button.setIpfsText").click(function() {
var value = $("#storage input.ipfsText").val();
EmbarkJS.Storage.saveText(value).then(function(hash) {
$("span.textHash").html(hash);
$("input.textHash").val(hash);
addToLog("#storage", "EmbarkJS.Storage.saveText('" + value + "').then(function(hash) { })");
})
.catch(function(err) {
if(err){
console.log("IPFS saveText Error => " + err.message);
}
});
});
$("#storage button.loadIpfsHash").click(function() {
var value = $("#storage input.textHash").val();
EmbarkJS.Storage.get(value).then(function(content) {
$("span.ipfsText").html(content);
addToLog("#storage", "EmbarkJS.Storage.get('" + value + "').then(function(content) { })");
})
.catch(function(err) {
if(err){
console.log("IPFS get Error => " + err.message);
}
});
});
$("#storage button.uploadFile").click(function() {
var input = $("#storage input[type=file]");
EmbarkJS.Storage.uploadFile(input).then(function(hash) {
$("span.fileIpfsHash").html(hash);
$("input.fileIpfsHash").val(hash);
addToLog("#storage", "EmbarkJS.Storage.uploadFile($('input[type=file]')).then(function(hash) { })");
})
.catch(function(err) {
if(err){
console.log("IPFS uploadFile Error => " + err.message);
}
});
});
$("#storage button.loadIpfsFile").click(function() {
var hash = $("#storage input.fileIpfsHash").val();
var url = EmbarkJS.Storage.getUrl(hash);
var link = '<a href="' + url + '" target="_blank">' + url + '</a>';
$("span.ipfsFileUrl").html(link);
$(".ipfsImage").attr('src', url);
addToLog("#storage", "EmbarkJS.Storage.getUrl('" + hash + "')");
});
});
// ===========================
// Communication (Whisper) example
// ===========================
$(document).ready(function() {
$("#communication .error").hide();
$("#communication .errorVersion").hide();
if (EmbarkJS.Messages.providerName === 'whisper') {
EmbarkJS.Messages.getWhisperVersion(function(err, version) {
if (err) {
$("#communication .error").show();
$("#communication-controls").hide();
$("#status-communication").addClass('status-offline');
} else {
EmbarkJS.Messages.setProvider('whisper');
$("#status-communication").addClass('status-online');
}
});
}
$("#communication button.listenToChannel").click(function() {
var channel = $("#communication .listen input.channel").val();
$("#communication #subscribeList").append("<br> subscribed to " + channel + " now try sending a message");
EmbarkJS.Messages.listenTo({topic: [channel]}).then(function(message) {
$("#communication #messagesList").append("<br> channel: " + channel + " message: " + message);
});
addToLog("#communication", "EmbarkJS.Messages.listenTo({topic: ['" + channel + "']}).then(function(message) {})");
});
$("#communication button.sendMessage").click(function() {
var channel = $("#communication .send input.channel").val();
var message = $("#communication .send input.message").val();
EmbarkJS.Messages.sendMessage({topic: channel, data: message});
addToLog("#communication", "EmbarkJS.Messages.sendMessage({topic: '" + channel + "', data: '" + message + "'})");
});
});

View File

@ -0,0 +1,56 @@
$(document).ready(function() {
document.getElementById("runTests").onclick = function() {
async.waterfall([
function test1(callback) {
AnotherStorage.methods.simpleStorageAddress().call().then(function(simpleStorageAddress) {
$("#tests").append("<br>test 1: " + (simpleStorageAddress === SimpleStorage._address));
callback();
});
},
function test2(callback) {
SimpleStorage.methods.storedData().call().then(function(result) {
$("#tests").append("<br>test 2 (true first time): " + (result === "100"));
$("#tests").append("<br>test 2 (true after): " + (result === "150"));
callback();
});
},
function test3(callback) {
SimpleStorage.methods.set(150).send({from: web3.eth.defaultAccount}).then(function() {
SimpleStorage.methods.get().call().then(function(result) {
$("#tests").append("<br>test 3: " + (result === "150"));
callback();
});
});
},
function test4(callback) {
$("#tests").append("<br>test 4: " + (Token._address === null));
$("#tests").append("<br>test 4: " + (MyToken._address !== undefined));
$("#tests").append("<br>test 4: " + (MyToken2._address !== undefined));
callback();
},
function test5(callback) {
MyToken.methods._supply().call().then(function(result) {
$("#tests").append("<br>test 5: " + (result === "1000"));
callback();
});
},
function test6(callback) {
MyToken2.methods._supply().call().then(function(result) {
$("#tests").append("<br>test 6: " + (result === "2000"));
callback();
});
},
function test7(callback) {
$("#tests").append("<br>test 7: " + (AlreadyDeployedToken._address === "0xeCE374063fE5Cc7EFbACA0a498477CaDA94E5AD6"));
callback();
}
], function (err, result) {
$("#tests").append("<br>done");
});
};
});

View File

View File

@ -0,0 +1,13 @@
<html>
<head>
<title>Embark - TestApp</title>
<link rel="stylesheet" href="css/app.css">
<script src="js/test.js"></script>
</head>
<body class="container">
<button id="runTests">Run Tests</button>
<div id="tests"></div>
</body>
</html>

View File

@ -0,0 +1,12 @@
<html>
<head>
<title>Embark - TestApp</title>
<link rel="stylesheet" href="css/app.css">
<script src="js/embark.js"></script>
</head>
<body class="container">
<div id="tests"></div>
</body>
</html>

View File

@ -0,0 +1,13 @@
!!! XML
!!! strict
%html{ xmlns: "http://www.w3.org/1999/xhtml" }
%head
%title Sample haml template
%body
.profile
.left.column
#date
#address
.right.column
#email
#bio

View File

@ -0,0 +1,356 @@
{
"0x72820315e7168f6f4891000ae8d366aa6e64a2e0a7648b05b18d952dd7b475ff": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0x4Ecfa18e475b4F217DC42A4a259278b00338a25a"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0x87D6CeAb780C32F45f259724650E5b2B98DF29c3"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0x607F0f839217d9066962c79Bd22DD2A511CAC37e"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0xa86f068F9e7Be2f603e6B6196FA9659FCe8A0b57"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0x589779894F444a42FbbfdFda035F9f3967149c08"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0x72B19204e0f1D318E41A90a2907C377FE3670D51"
},
"0xf923326d69c0ac17de37926bc0c36e57f5b2485fe6fadf958ada014610cd01fd": {
"name": "SomeContract",
"address": "0x5b2d8270D0068C1E5A714fea1B50642b305C06bd"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0x9766f9364F0832589AFcaF7387aB43b6f5AA96b9"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x8dE0ca96f288D91a84B89701465AFD004B69C470"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0x976b67838e893A1AD6e2a7fc68b3df5462A3d7b7"
},
"0x4f149fd3d62e8d24542c8d508a8b419d03838808b860dbcd5e82680ba91727ee": {
"name": "AnotherStorage",
"address": "0x148001ae8D7a5833Ecdbd0ec490796fdF4235505"
}
},
"name": "development"
},
"0xbd9229383cb995c9041f12d0ed3a3479f38d05c34cd4d3dd972b31c1fddb978b": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0xD309079E12C616f1333175D037A078c889760451"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0x49e2a14a3E13FA555B47f2eE80e4250A1c5E6D4b"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0xF917baE4284443662230e51313a838EDf7b1d477"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0x72949D7d7b2c3f7016fF2b48669485f59aA45ea5"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0x16a9ea7916FAAAE38d9ef07dE6CE7abCf4C5B39d"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0xBAB1e7ab34B6de4BbA91865CaAEBf1282Ea15E77"
},
"0x30dfcaf8930098e8f1d51c99f1739235011f4cb31cf29c8e7593b2d84a13534f": {
"name": "SomeContract",
"address": "0xc0c748D1096821B60CdB470a4aC54bb57a43a149"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0xd48C299d58fD5171234FeE3ABE00d51b128fD10d"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x70FF00ddf8e6135C52C492d368Fd50c02b16D759"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0x9473A926a115097368c4E941745361ff2780e626"
},
"0x6ed12184b4c1a117e5c6040ef7ba270dd19c5303f89e1ba07d40ccc9094d1bef": {
"name": "AnotherStorage",
"address": "0x10C53867C17eDc04a92008B9aDE42Cd51397b68F"
}
},
"name": "development"
},
"0xaf15a99b63e24757cebcdcbd1aa386d863e04c902a614a5129f8be82ffc892ce": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0x372288011682a9ae1F7b7A783B5B89C600fe014B"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0xa2D7eDe07C2c9092641d95a9d07d910E6A861857"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0xD92A24BD010Df9668DE03e452505C0C1DBc3AaCc"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0x1E0F5cA4Bdf406Fa8b72234511b6F789FC5383D9"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xc7Ce790F06952a21bc3E29079929d72404Ff02C1"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0x998f4ACDdcE5Ca2CAf9e2A48a35E728f7F2b3c64"
},
"0x5424fc725f0ba178b606596bfd56f6438ab5182d20c3d39c01c824ce729c5a17": {
"name": "SomeContract",
"address": "0x899f6D2d878303fB715de145a412a3a329c66f72"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0xE567d9CBaf22d27a5C67C1421B7ADE1D7E5B9279"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x757dFfbEbc92cb6cb457ff0aE52147840e2aDA6A"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0x1741BB896eE47e2Fb757FF2b99811346537A4D6c"
},
"0x9d16daf36e60ee15055f39a1c15597a9ed4d06f431f4f4fa7baa1a1fb13b62c5": {
"name": "AnotherStorage",
"address": "0xb7cF0E659253bc3bAdD636356790383896222C8C"
}
},
"name": "development"
},
"0x895dd3027dedd81d3dfd66da65bc72bdda7c94a6ab3ef7f9844b7f80e88ecdbb": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x43a7fdb062a49169e579493c0404cac3eb7c7e35144853e801081fc6364398c3": {
"name": "Assert",
"address": "0x8db41B9F057Acfa544E0038f4891bde1a26eb218"
},
"0x45b875328c08f3f01de18f3a4f42ae9917cc47b0d284d8eef1ed46b0593540ae": {
"name": "ContractArgs",
"address": "0xF1b2103E43C307CF327E015380240DDE094DB6D2"
},
"0x43e7107e99a2be83020800a2278a01673572a3aa69c48580361b848e989c509b": {
"name": "ZAMyLib2",
"address": "0xEF8b4a610079c0bB9cE1b2fD36Df4c94f17Fee68"
},
"0x263ad11c8ac793bd948abc51ed63bf456ae958deb8c09413250d312732a479da": {
"name": "Test2",
"address": "0x3c093A77D5c5Dc3b793Df350Dc225072261201a9"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xD190B54d5618b6A7D1343CB2f2E1A6689DAFad8C"
},
"0xc10f570bb3ab32a609d2406d7d81994a6f4fabda7f7cd2c3a4df44934d6502f6": {
"name": "SimpleStorage",
"address": "0xF9816748F8185Aca4F0ccC8F1A2B870DB0279B52"
},
"0x86e2e623978a4693bfa49767193a2f546c589213ca398e4801e1be93436e9965": {
"name": "SomeContract",
"address": "0x75cE8579Aff2F22801B4Ab67Db6B9496F1AFbB28"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0x4C1290302C36939550DEBDb2116c584FDb84cBfA"
},
"0xa5fec182f96887e8f82e36ad2ebbea945f26e5c96dcdc66977247365f9045899": {
"name": "ZAMyLib",
"address": "0x759ce044ef0E86dE4780d5023E47860c25C9e493"
},
"0xcbb235f7fb59ae45ac86c7109080d34dcf60d72ce334a1b5f896fd871e216867": {
"name": "Test",
"address": "0xAD93FEc10691521de0290159E4D0412f24881F98"
},
"0x2d151cdba2d74d42a8d04da95fd1a8e376a9209793aeec62cb467c62d7c24815": {
"name": "AnotherStorage",
"address": "0x06Af6E548985Ae0406ed9632C40B1158fD4fA9F2"
},
"0x0e0275c10e511f694564b0c4e3def28e38fe6ba0c1f26ab6c1cb86fdd73a3287": {
"name": "Assert",
"address": "0x16afe4373cF5604E9A68Ab075c96ec4d35b4899a"
},
"0x53a9493497f8764439f2b6062994f8fe3d3c5a66450099244c0f8f32185a15df": {
"name": "ContractArgs",
"address": "0xF80b4e0562a3bc5Eb1CCc0315F7dC6b771CE4Dec"
},
"0xd1b69fd42ab462fb8af1009558bf53dbcc873ee43b3f759afcd54aabb4640338": {
"name": "ZAMyLib2",
"address": "0x5d72Da0c801AAEB628Fe4d5E9509f1a47C352230"
},
"0x0d2c4116b7b36aec94353056c6f2ffd4179b1121b98d89164106df61d617d427": {
"name": "Test2",
"address": "0x2CE5fDed00eC8f4451D02De6E446B35D8BdA0c40"
},
"0x6cefd24d92c98376fa48a4b79fa31b4411bff757599d56154a46369cca076f5c": {
"name": "SimpleStorage",
"address": "0x4E09b82B9c4bC99903a970FB3c6F2c7Ee09c0f94"
},
"0x8f2608ad94100e469ed2ed1c0b19e674c6952bbc76b2969c51b7e473f31dc917": {
"name": "SomeContract",
"address": "0xbd2a6708717e36BadB018473c282cf15187C5DC5"
},
"0x926ab20d492caa04f4c9b91ae0394da1a49689e1984278a8161d1b96332ba8e5": {
"name": "ZAMyLib",
"address": "0xc902922B18E4Ce3311A1585E472169A45d5addA8"
},
"0xba49165b12f1fbd15c17caf1b3d55d30b9607f1d74102732106ce1575df4bb1d": {
"name": "Test",
"address": "0x0bb6D11BdA472a77947CA54160C478EB656190E8"
},
"0x01ebbfdb113eb2e485a246c5fd98dbd8b78152c489ca8135eaae0dba7ef57519": {
"name": "AnotherStorage",
"address": "0x3D68bc66F0fC8D13beDd164042371c29527B46EF"
}
},
"name": "development"
},
"0x9d41dc2207c7fe6525d412f931ecda49b914da5dce0be4d32f5041c36fccd9db": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x0e0275c10e511f694564b0c4e3def28e38fe6ba0c1f26ab6c1cb86fdd73a3287": {
"name": "Assert",
"address": "0xF8e129d5027150371Ce9F2E0456244AdE5344B16"
},
"0x53a9493497f8764439f2b6062994f8fe3d3c5a66450099244c0f8f32185a15df": {
"name": "ContractArgs",
"address": "0x56c6cb35C27205f3dc4e9F7042514e315fbD4698"
},
"0xd1b69fd42ab462fb8af1009558bf53dbcc873ee43b3f759afcd54aabb4640338": {
"name": "ZAMyLib2",
"address": "0x6981C4C907B61B65Dc5320de16fb247f8Ed058f7"
},
"0x0d2c4116b7b36aec94353056c6f2ffd4179b1121b98d89164106df61d617d427": {
"name": "Test2",
"address": "0xFFfeE5AbaDAa853FBF18DF6135fA53D570294547"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xBC6667fb518871FD0efc3C233367941a9C81136C"
},
"0x6cefd24d92c98376fa48a4b79fa31b4411bff757599d56154a46369cca076f5c": {
"name": "SimpleStorage",
"address": "0x9DaD2dA0148d5c8e8cc5cCDefE61583C3ca8daBE"
},
"0x04da6bdbbb01369d76fc62a954d9debb10bbb457957c041148e2475cdc3ddffa": {
"name": "SomeContract",
"address": "0x1B6782Fcdd369be19A9e1E3270993711fd9cc600"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0xAf3DAD7F3894349eF4FDfAFd8A7d41B049605167"
},
"0x926ab20d492caa04f4c9b91ae0394da1a49689e1984278a8161d1b96332ba8e5": {
"name": "ZAMyLib",
"address": "0xF22D6EC1d2e09A9b3D33649E0b5fF4A3369cc5B9"
},
"0xba49165b12f1fbd15c17caf1b3d55d30b9607f1d74102732106ce1575df4bb1d": {
"name": "Test",
"address": "0x5658777E87dBdC45E3039Fc6b2fbB98075CBff1B"
},
"0xdc40c276c6ffaccab11ed135ad1b27822456151058ad622e7b81182e2cd7617e": {
"name": "AnotherStorage",
"address": "0xF14211c7cEf238286FA1019bfC0B33c1d59bB16d"
}
},
"name": "development"
},
"0x2d42bfc8e599949a9c1ba2f2b3b8dd337653f7572bc7cb9d4b8c67cfcdaf85fa": {
"contracts": {
"0x79f903ab722af0e1fec06f910aa64dc71fd3023e232a946b35432f757d951bc0": {
"name": "AlreadyDeployedToken",
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6"
},
"0x0e0275c10e511f694564b0c4e3def28e38fe6ba0c1f26ab6c1cb86fdd73a3287": {
"name": "Assert",
"address": "0x43766Fa2a1612a31d16148364238FD681F56569d"
},
"0x53a9493497f8764439f2b6062994f8fe3d3c5a66450099244c0f8f32185a15df": {
"name": "ContractArgs",
"address": "0x1dd94D1C0F775239498676772C942B687780599c"
},
"0xd1b69fd42ab462fb8af1009558bf53dbcc873ee43b3f759afcd54aabb4640338": {
"name": "ZAMyLib2",
"address": "0xdE2856b6c433C7b5C41CE7C2E918788643D2d507"
},
"0x0d2c4116b7b36aec94353056c6f2ffd4179b1121b98d89164106df61d617d427": {
"name": "Test2",
"address": "0xFf40bB59716e7D84238fFB0bbE766f8D4954455C"
},
"0x21ec9fef260b27aeb3220343703c4e9754a312c6be64dc09170c322302ae438f": {
"name": "MyToken2",
"address": "0xFd958962FDF763bFc33e2d02D497075F4069D476"
},
"0x6cefd24d92c98376fa48a4b79fa31b4411bff757599d56154a46369cca076f5c": {
"name": "SimpleStorage",
"address": "0xf06B15d8eF571eF4bE5Fe51c310EAa952089B6AD"
},
"0xf855ad01705745e324292843c2fcd25d9c199fda7f40a8a104a010bd722d24b4": {
"name": "SomeContract",
"address": "0x84f92D023ee8Bdc04B8dD3353a7Eb4d67381C8da"
},
"0x44e732146c5700a2e4cead0a5cd5d94047fbf6b5149ab7d7814fc874d66d4649": {
"name": "MyToken",
"address": "0x78060A2fc7F6062948Bc9B1ffF9D44b1e6C2af3C"
},
"0x926ab20d492caa04f4c9b91ae0394da1a49689e1984278a8161d1b96332ba8e5": {
"name": "ZAMyLib",
"address": "0xd4d4cAeea122EA36e64187C91685572c47390FD1"
},
"0xba49165b12f1fbd15c17caf1b3d55d30b9607f1d74102732106ce1575df4bb1d": {
"name": "Test",
"address": "0x610Da846012A1Ec4beB082136e63779A3c05279B"
},
"0xb3e3400994923c528ad8a0a031987bd20f10d13920194950577bd394999438ab": {
"name": "AnotherStorage",
"address": "0xB8B78d98D55A01503E76e9e53c733824c5C4A076"
}
},
"name": "development"
}
}

View File

@ -0,0 +1,45 @@
{
"development": {
"enabled": true,
"networkType": "custom",
"genesisBlock": "config/development/genesis.json",
"datadir": ".embark/development/datadir",
"mineWhenNeeded": true,
"nodiscover": true,
"maxpeers": 0,
"rpcHost": "localhost",
"rpcPort": 8545,
"rpcCorsDomain": "http://localhost:8000",
"account": {
"password": "config/development/password"
},
"targetGasLimit": 8000000,
"wsOrigins": "http://localhost:8000",
"wsRPC": true,
"wsHost": "localhost",
"wsPort": 8546
},
"testnet": {
"networkType": "testnet",
"rpcHost": "localhost",
"rpcPort": 8545
},
"livenet": {
"networkType": "livenet",
"rpcHost": "localhost",
"rpcPort": 8545,
"rpcCorsDomain": "http://localhost:8000",
"account": {
"password": "config/livenet/password"
}
},
"privatenet": {
"networkType": "custom",
"rpcHost": "localhost",
"rpcPort": 8545,
"datadir": "yourdatadir",
"networkId": "123",
"bootnodes": ""
}
}

View File

@ -0,0 +1,12 @@
{
"default": {
"enabled": true,
"provider": "whisper",
"available_providers": ["whisper", "orbit"],
"connection": {
"host": "localhost",
"port": 8546,
"type": "ws"
}
}
}

View File

@ -0,0 +1,84 @@
{
"default": {
"versions": {
"web3.js": "1.0.0-beta.27",
"solc": "0.4.18"
},
"deployment": {
"host": "localhost",
"port": 8545,
"type": "rpc"
},
"dappConnection": [
"$WEB3",
"ws://localhost:8546",
"http://localhost:8550",
"http://localhost:8545",
"http://localhost:8550"
],
"gas": "auto",
"contracts": {
"Ownable": {
"deploy": false
},
"SimpleStorage": {
"fromIndex": 0,
"args": [
100
]
},
"AnotherStorage": {
"args": [
"$SimpleStorage"
]
},
"Token": {
"deploy": false,
"args": [1000]
},
"Test": {
"onDeploy": [
"Test.methods.changeAddress('$MyToken')"
]
},
"MyToken": {
"instanceOf": "Token"
},
"MyToken2": {
"instanceOf": "Token",
"args": [200]
},
"AlreadyDeployedToken": {
"address": "0xece374063fe5cc7efbaca0a498477cada94e5ad6",
"instanceOf": "Token"
},
"MyToken3": {
"instanceOf": "Tokn"
},
"ContractArgs": {
"args": {
"initialValue": 123,
"_addresses": ["$MyToken2", "$SimpleStorage"]
}
},
"SomeContract": {
"args": [
["$MyToken2", "$SimpleStorage"],
100
]
}
},
"afterDeploy": [
"Test.methods.changeAddress('$MyToken')",
"web3.eth.getAccounts((err, accounts) => Test.methods.changeAddress(accounts[0]))"
]
},
"development": {
"contracts": {
"MyToken2": {
"instanceOf": "Token",
"args": [2000]
}
}
}
}

View File

@ -0,0 +1,16 @@
{
"config": {
"homesteadBlock": 1
},
"nonce": "0x0000000000000042",
"difficulty": "0x0",
"alloc": {
"0x3333333333333333333333333333333333333333": {"balance": "15000000000000000000"}
},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x",
"gasLimit": "0x7a1200"
}

View File

@ -0,0 +1 @@
dev_password

View File

@ -0,0 +1,28 @@
{
"default": {
"versions": {
"ipfs-api": "17.2.6"
},
"enabled": true,
"available_providers": ["ipfs"],
"ipfs_bin": "ipfs",
"provider": "ipfs",
"host": "localhost",
"port": 5001
},
"development": {
"enabled": true,
"provider": "ipfs",
"host": "localhost",
"port": 5001,
"getUrl": "http://localhost:8080/ipfs/"
},
"livenet": {
"enabled": true,
"provider": "ipfs",
"host": "ipfs.infura.io",
"protocol": "https",
"port": false,
"getUrl": "https://ipfs.infura.io/ipfs/"
}
}

View File

@ -0,0 +1,5 @@
{
"enabled": true,
"host": "localhost",
"port": 8000
}

View File

@ -0,0 +1,66 @@
// https://github.com/nexusdev/erc20/blob/master/contracts/base.sol
pragma solidity ^0.4.17;
contract Token {
event Transfer(address indexed from, address indexed to, uint value);
event Approval( address indexed owner, address indexed spender, uint value);
mapping( address => uint ) _balances;
mapping( address => mapping( address => uint ) ) _approvals;
uint public _supply;
//uint public _supply2;
function Token( uint initial_balance ) public {
_balances[msg.sender] = initial_balance;
_supply = initial_balance;
}
function totalSupply() public constant returns (uint supply) {
return _supply;
}
function balanceOf( address who ) public constant returns (uint value) {
return _balances[who];
}
function transfer( address to, uint value) public returns (bool ok) {
if( _balances[msg.sender] < value ) {
revert();
}
if( !safeToAdd(_balances[to], value) ) {
revert();
}
_balances[msg.sender] -= value;
_balances[to] += value;
Transfer( msg.sender, to, value );
return true;
}
function transferFrom( address from, address to, uint value) public returns (bool ok) {
// if you don't have enough balance, throw
if( _balances[from] < value ) {
revert();
}
// if you don't have approval, throw
if( _approvals[from][msg.sender] < value ) {
revert();
}
if( !safeToAdd(_balances[to], value) ) {
revert();
}
// transfer and return true
_approvals[from][msg.sender] -= value;
_balances[from] -= value;
_balances[to] += value;
Transfer( from, to, value );
return true;
}
function approve(address spender, uint value) public returns (bool ok) {
// TODO: should increase instead
_approvals[msg.sender][spender] = value;
Approval( msg.sender, spender, value );
return true;
}
function allowance(address owner, address spender) public constant returns (uint _allowance) {
return _approvals[owner][spender];
}
function safeToAdd(uint a, uint b) internal pure returns (bool) {
return (a + b >= a);
}
}

View File

@ -0,0 +1,20 @@
{
"contracts": ["app/contracts/**", "contracts/**"],
"app": {
"js/jquery.js": "app/js/_vendor/jquery.min.js",
"js/bootstrap.js": "app/js/_vendor/bootstrap.min.js",
"css/app.css": ["app/css/**"],
"images/": ["app/images/**"],
"js/app.js": ["app/js/index.js"],
"js/test.js": ["app/js/_vendor/jquery.min.js", "app/js/_vendor/async.min.js", "app/js/test.js", "app/js/non_existant_file.js"],
"index.html": "app/index.html",
"test.html": "app/test.html",
"test2.html": "app/test2.html",
"test3.html": "app/test3.haml"
},
"buildDir": "dist/",
"config": "config/",
"plugins": {
"embark-service": {}
}
}

View File

@ -0,0 +1,28 @@
{
"contracts": ["app/contracts/**"],
"app": {
"js/webpack_test.js": "app/js/index.js",
"css/app.css": ["app/css/**"],
"images/": ["app/images/**"],
"js/app.js": ["embark.js", "app/js/_vendor/jquery.min.js", "app/js/_vendor/bootstrap.min.js", "app/js/**", "!app/js/test.js", "!app/js/foo.js", "!app/js/foo.css", "!app/js/new_index.js"],
"js/new_app.js": ["app/js/new_index.js"],
"js/embark.js": ["embark.js"],
"js/abi.js": "abi.js",
"js/test.js": ["embark.js", "app/js/_vendor/jquery.min.js", "app/js/_vendor/async.min.js", "app/js/test.js"],
"js/mytoken.js": ["$MyToken", "app/js/token_test.js"],
"index.html": "app/index.html",
"new_index.html": "app/new_index.html",
"test.html": "app/test.html",
"test2.html": "app/test2.html",
"js/myweb3.js": "web3-0.18.js",
"js/web3.js": "web3.js",
"js/all_contracts.js": "$ALL_CONTRACTS",
"js/only_embark.js": "$EMBARK_JS"
},
"buildDir": "dist/",
"config": "config/",
"plugins": {
"embark-babel": {"files": ["**/*.js", "**/*.jsx", "!**/_vendor/*.js"]},
"embark-service": {}
}
}

View File

@ -0,0 +1,12 @@
var Haml = require('haml');
module.exports = function(embark) {
embark.registerServiceCheck('PluginService', function(cb) {
cb({name: "ServiceName", status: "on"});
});
embark.registerPipeline((embark.pluginConfig.files || ['**/*.haml']), function(opts) {
var source = opts.source;
return Haml.render(source);
});
};

View File

@ -0,0 +1,13 @@
{
"name": "embark-service",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"haml": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/haml/-/haml-0.4.3.tgz",
"integrity": "sha1-90BTGPPC7dGXpIsbjysvE+C7U3g="
}
}
}

View File

@ -0,0 +1,14 @@
{
"name": "embark-service",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"haml": "^0.4.3"
}
}

Some files were not shown because too many files have changed in this diff Show More