pirapira / bamboo Goto Github PK
View Code? Open in Web Editor NEWBamboo see https://github.com/cornellblockchain/bamboo
License: Apache License 2.0
Bamboo see https://github.com/cornellblockchain/bamboo
License: Apache License 2.0
Then, an appropriate push operation can be chosen, rather than always using PUSH32
.
The runtime code contains the constructor code of each contract, so the initialization code can just jump into it.
This test should witness some change in the return value of highest_bid()
.
Currently, sh run_tests.sh
results in
Fatal error: exception Failure("set_contract_arguments")
something() along value 3
something() with value 3
When the source contains an identifier with pre_
, the compiler should error out, saying "names starting with pre_
is reserved for future use."
case0 01f42fe4 0c11dedd
Fatal error: exception File "lib/lib_test.ml", line 21, characters 11-17: Assertion failed
Maybe we can use the Keccak implementation in the eth-isabelle project.
test
Currently compiled examples do not contain events. This issue keeps track of implementing the events.
When a contract A sometimes becomes B, and B has a case called b
, it should be possible to call the method b
of a contract A
.
At commit cf55d36 , make test
shows
argument x at Calldata offset 72, size 32
argument b at Calldata offset 64, size 32
argument c at Calldata offset 32, size 8
argument d at Calldata offset 0, size 32
for a source that looks like
case (int a(bytes32 x, bytes32 b, uint8 c, bytes32 d)) {
The ordering of arguments are reversed.
Similar to #60.
In the account_unknown
branch, a strange error appears
$ make end-to-end && ./end-to-end.native
ocamlbuild -use-ocamlfind -Is src/ast,src/parse,src/lib,src/codegen -package batteries -package cryptokit -package rope -package rpclib -package rpclib.unix -package unix -package rpclib.json -package ppx_deriving -package ppx_deriving_rpc -use-menhir src/exec/end-to-end.native
Finished, 91 targets (91 cached) in 00:00:00.
connected
got result 0x100000000000000000000000000000000000000000
Fatal error: exception Failure("Expected string, got '{jsonrpc:S(2.0);error:{code:I(0);data:N;message:S(Account unknown.)};id:I(0)}'")
At commit cf55d36, make test
shows
argument x at Calldata offset 72, size 32
argument b at Calldata offset 64, size 32
argument c at Calldata offset 32, size 8
argument d at Calldata offset 0, size 32
The offset and the size of argument c
point to a wrong region.
Currently run_tests.sh
says
Fatal error: exception Failure("LayoutInfo.arg_locations")
Currently, the continuation is specified by just a then
. This issue proposes then become
instead of just then
. This is @vkandy's idea.
./bbo.native --abi < parse/examples/00b_auction_more.bbo
should return
[{"constant":false,"inputs":[],"name":"bid","outputs":[{"name":"","type":"bool"}],"payable":true,"type":"function"},{"constant":false,"inputs":[],"name":"bidding_time","outputs":[{"name":"","type":"uint256"}],"payable":true,"type":"function"},{"constant":false,"inputs":[],"name":"highest_bid","outputs":[{"name":"","type":"uint256"}],"payable":true,"type":"function"},{"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":true,"type":"constructor"},{"payable":true,"type":"fallback"}]
Maybe without payable attributes.
This example should somehow compile
contract multiret()
{
case((uint,uint) dup(uint x)) {
return (x,x) then multiret();
}
}
contract A() {
case (xyzxyz a(bytes32 x, bytes32 b, uint8 c, bytes32 d)) {
return (pre_ecdsarecover(x, b, c, d)) then become A();
}
}
should cause an error.
end-to-end.native command expects cpp-ethereum in --test
mode. When it finds a different client, end-to-end.native
should error out, saying that it expects cpp-ethereum
launched in such and such way.
If we change that, some things might break, but we should do that.
Currently, end-to-end.native shows:
got answer: 0x000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000
However, this should just be 0x0000000000000000000000000000000000000000000000000000000000000064
.
Currently PUSH32 is used for pushing jump destinations, but PUSH4 seems enough (of course the compiler should check the value being pushed fits the width).
Currently, when constructor arguments are missing, the constructor believes that the last pieces of the code is the input. Instead, the constructor should throw when the constructor arguments are missing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.