/www/adzap/

s='form'>
DEXON full node (https://github.com/dexon-foundation/dexon)
aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* fixup! core: vm: sqlvm: add built-in function SUBSTRING()wip/gy-sqlvm-runtime-p5Meng-Ying Yang2019-05-092-6/+11
|
* core: vm: sqlvm: add regexp flag to match new lineMeng-Ying Yang2019-05-093-9/+11
|
* fixup! core: vm: sqlvm: add built-in function BITAND()Meng-Ying Yang2019-05-091-7/+7
|
* fixup! core: vm: sqlvm: add built-in function SUBSTRING()Meng-Ying Yang2019-05-091-7/+1
|
* fixup! core: vm: sqlvm: add built-in function SUBSTRING()Meng-Ying Yang2019-05-091-18/+30
|
* core: vm: sqlvm: add built-in function SUBSTRING()Meng-Ying Yang2019-05-093-0/+176
|
* core: vm: sqlvm: add built-in function OCTET_LENGTH()Meng-Ying Yang2019-05-093-2/+137
|
* core: vm: sqlvm: add built-in function BITNOT()Meng-Ying Yang2019-05-093-0/+152
|
* core: vm: sqlvm: add built-in function BITXOR()Meng-Ying Yang2019-05-093-0/+144
|
* core: vm: sqlvm: add built-in function BITOR()Meng-Ying Yang2019-05-093-0/+144
|
* core: vm: sqlvm: add built-in function BITAND()Meng-Ying Yang2019-05-093-0/+243
|
* core: vm: sqlvm: runtime: implement fillAutoInc and fillDefaultJhih-Ming Huang2019-05-085-26/+372
| | | | | | This commit implements fillAutoInc and fillDefault, and modifies Storage.IncSequence such that it can handle the numbers larger than maximum of uint64.
* core: vm: sqlvm: errors: add severity fieldTing-Wei Lan2019-05-086-479/+533
| | | | | | | | | | | In order to report messages other than errors, we are going to reuse the error struct to store non-error messages, such as warnings and notes. We add a new field to distinguish between error and non-error messages. This field is not a part of SQLVM ABI, so non-error messages should never be returned to the caller of the contract. The zero value of severity is 'error'. Code which doesn't set this field should keep working because 'error' was the only use case.
* core: vm: sqlvm: ast: put source code tokens on AST nodesTing-Wei Lan2019-05-084-19/+26
| | | | | | | | | | In order to construct an error message which can be easily understood, it is sometimes required to reference source code tokens corresponding to nodes. It should not increase memory usage too much since all byte slices share the same underlying array. Drop UpdatePosition because it is never used. It is unclear that how it can be used and it becomes obsolete after adding this new field.
* core: vm: sqlvm: return a bool from DecimalEncode and DecimalDecodeTing-Wei Lan2019-05-086-57/+63
| | | | | | | Instead of returning a fixed error code, we can return a boolean here because the only possibility of an error is invalid arguments. Callers of these functions must know where invalid arguments come from, and correctly handle it by converting it to an error struct or panicking.
* core: vm: sqlvm: parser: drop TEXT and STRING aliasesTing-Wei Lan2019-05-083-483/+439
| | | | | | | | Our BYTES type works like a binary string, while TEXT and STRING are commonly used to represent a character string. Since SQL distinguishes between binary strings and character strings and defines different functions for them, we should avoid confusing users with misleading names.
* core: vm: sqlvm: categorize Storage methodsyenlin.lai2019-05-085-438/+469
| | | | Split methods of Storage into files by funtionalities.
* core: vm: sqlvm: storage: implement bitmap and increasePK (#382)Jhih-Ming Huang2019-05-063-66/+136
| | | | | | | | * core: vm: sqlvm: storage: implement bitmap and increasePK * fixup! core: vm: sqlvm: storage: implement bitmap and increasePK * fixup! core: vm: sqlvm: storage: implement bitmap and increasePK
* core: vm: sqlvm: runtime: implement opRepeatPKJhih-Ming Huang2019-05-064-85/+330
|
* misc: update decimalyenlin.lai2019-05-062-6/+7
| | | | Update dexon-foundation/decimal for new performance tuning commit.
* Remove underflow error (#385)Meng-Ying Yang2019-05-064-43/+40
| | | core: vm: sqlvm: remove underflow error
* core: vm: sqlvm: change function id from bytes to uint16Meng-Ying Yang2019-05-062-21/+26
|
* core: vm: sqlvm: add built-in function RAND()Meng-Ying Yang2019-05-062-0/+91
|
* core: vm: sqlvm: add built-in function TX_ORIGIN()Meng-Ying Yang2019-05-062-0/+65
|
* core: vm: sqlvm: add built-in function MSG_DATA()Meng-Ying Yang2019-05-062-0/+61
|
* core: vm: sqlvm: add built-in function MSG_SENDER()Meng-Ying Yang2019-05-062-0/+66
|
* core: vm: sqlvm: add built-in function BLOCK_GASLIMIT()Meng-Ying Yang2019-05-062-0/+68
|
* core: vm: sqlvm: add built-in function BLOCK_COINBASE()Meng-Ying Yang2019-05-062-0/+64
|
* core: vm: sqlvm: add built-in function BLOCK_TIMESTAMP() and NOW()Meng-Ying Yang2019-05-062-4/+74
|
* core: vm: sqlvm: add built-in function BLOCK_NUMBER()Meng-Ying Yang2019-05-062-2/+70
|
* core: vm: sqlvm: add built-in function BLOCK_HASH()Meng-Ying Yang2019-05-064-1/+173
|
* core: vm: sqlvm: add opFuncMeng-Ying Yang2019-05-066-2/+59
| | | | Add `opFunc` as built-in funtions entry point.
* core: vm: sqlvm: add opNegMeng-Ying Yang2019-05-065-0/+248
| | | | Add `opNeg` supports operand negative.
* core: vm: sqlvm: add opConcatMeng-Ying Yang2019-05-065-5/+200
| | | | Add `opConcat` supports dynamic bytes (string) concating.
* core: vm: sqlvm: add opRangeMeng-Ying Yang2019-05-065-0/+318
| | | | | Add `opRange` which supports row range evaluation, such as `LIMIT` and `OFFSET`.
* core: vm: sqlvm: add opCutMeng-Ying Yang2019-05-065-0/+462
| | | | Add `opCut` which supports slice cutting.
* core: vm: sqlvm: process string before renderingMeng-Ying Yang2019-05-063-1971/+1375
| | | | | To reduce redundant information in template source data, we pre-process source data and generate target information before rendering.
* sqlvm: common: replace table/index name with TableRef/IndexRefyenlin.lai2019-05-064-44/+69
| | | | | Names will be mapped to references after parsing. Use references in hash will have better performance.
* sqlvm: common: refine StateDB/Storageyenlin.lai2019-05-066-54/+44
| | | | | | | In the context of vm module, we usually access vm.StateDB interface object instead of state.StateDB directly. Also, state.StateDB is usually passed with pointer and used with pointer receiver. Implement the similar behavior on Storage object.
* sqlvm: common: add Reader/Writer for Storageyenlin.lai2019-05-062-0/+176
| | | | | Sometimes we need a stream reader writer for the data on storage. For example, RLP decode the data on storage. Implement a wrapper around it.
* sqlvm: common: add some shared methods on Storage structyenlin.lai2019-05-064-15/+538
| | | | | Add methods for ACL control and index meta loading. These methods will be used outside runtime, so put them on Storage.
* core: vm: sqlvm: ast: decimal decode for boolJhih-Ming Huang2019-05-062-1/+17
|
* core: sqlvm: common: fix decimal limit valuesMeng-Ying Yang2019-05-062-5/+11
| | | | | The original limit values are so wrong. We fix the values, rename parameters according to Go's limit values naming rule.
* core: vm: sqlvm: ast: copy data before decimal decodewmin02019-05-061-0/+2
| | | | | Because decimalDecode modifies input data, we should make a copy first to prevent side effect.
* core: vm: sqlvm: schema: column rlp does not contain offset fieldswmin02019-05-061-2/+2
|
* core: vm: sqlvm: ast: fix unsigned get type error codewmin02019-05-061-1/+1
|
* core: vm: sqlvm: add jump tableMeng-Ying Yang2019-05-062-3/+27
|
* core: vm: sqlvm: add op testcases with templateMeng-Ying Yang2019-05-066-9/+6207
| | | | | | | | We reduce code of funtion call and nested struct initialization by generating testcases with go template system. Run `go run cmd/gen-op-test/main.go` first before testing instructions, and commit generated code for fully testing on CI.
* core: vm: sqlvm: opcodes and basic structsMeng-Ying Yang2019-05-066-17/+1570
| | | | | For runtime implementation, we define opcodes and basic structs for runtime usage and concrete implementation.
* core: vm: sqlvm: update op codeJhih-Ming Huang2019-05-061-87/+2
| | | | | | * Remove STOREPK. * Split STORE to UPDATE and INSERT. * Remove the examples.
* core: vm: sqlvm: runtime: opLoad load fixed bytes and address in bytesJhih-Ming Huang2019-05-065-23/+15
| | | | | To satisfy the latest spec, the data of type of address and fixed bytes will be stored in bytes instead of decimal value.
* vm: sqlvm: refine after updating dexon-foundation/decimalyenlin.lai2019-05-064-19/+7
| | | | | | Refine behaviors: 1. Check decimal.NewFromString by type instead of string compare. 2. Use Rescale in DecimalEncode.
* misc: replace shopspring/decimal with our forkyenlin.lai2019-05-0617-240/+318
|
* core: vm: sqlvm: schema: make foreign key constraints a sliceTing-Wei Lan2019-05-063-17/+52
| | | | It is allowed to declare multiple foreign key constraints on a column.
* core: vm: sqlvm: add a descriptor field to IdentifierNodeTing-Wei Lan2019-05-062-0/+51
| | | | | It will be used to store the descriptor of the object after the name is resolved.
* core: vm: sqlvm: support SQL three-valued logic on ASTTing-Wei Lan2019-05-065-390/+567
| | | | | | We make the zero value invalid by design. Users must be aware of the difference between SQL boolean and Go boolean and initialize it explicitly.
* core: vm: sqlvm: ast: rename DataTypeUnknown to DataTypePendingTing-Wei Lan2019-05-063-14/+19
| | | | | | | | SQL uses three-valued logic which includes an unknown state. To prevent the reader of the code from confusing the unknown value with the unknown data type defined here, we rename 'unknown' data type to 'pending' because it is intended to be used by nodes whose type has not been determined.
* core: vm: sqlvm: ast: rename TestSizeTing-Wei Lan2019-05-061-1/+1
| | | | | It is the last test function which doesn't mention what kind of data it operates on.
* core: vm: sqlvm: ast: don't calculate min and max values on demandTing-Wei Lan2019-05-063-57/+76
| | | | | | It is unsafe to write a map concurrently. Even if it is unlikely for us to call it from multiple threads, it is better to avoid providing an thread-unsafe API when it is possible.
* core: vm: sqlvm: ast: make DataTypeDecode a method of DataTypeTing-Wei Lan2019-05-063-30/+19
| | | | | | | | Since we have dropped DataTypeEncode in favor of GetType method of TypeNode, rename DataTypeDecode to GetNode and make it a method. Drop unnecessary zero checks because we don't care minor bytes when there is only one type belong to a category.
* core: vm: sqlvm: ast: rename tests for DataType encoding or decodingTing-Wei Lan2019-05-061-31/+31
| | | | | | Since we have both DataType and Decimal functions in this file, we should avoid using generic names such as TestEncode and TestDecode without mentioning what types are going to be tested.
* core: vm: sqlvm: ast: return error messages from GetTypeTing-Wei Lan2019-05-064-45/+85
| | | | | | | | To allow callers to provide precise error messages, return an error message in addition to an error code from GetType of TypeNode. Drop DataTypeEncode because it is never used by any code and it has become a simple wrapper of GetType.
* core: vm: sqlvm: schema: move methods of DataTypeMajorTing-Wei Lan2019-05-061-10/+10
| | | | We will add more methods to DataType.
* core: vm: sqlvm: schema: move Rest to the bottomTing-Wei Lan2019-05-061-1/+3
| | | | It is a special field which should not be accessed by any other files.
* core: vm: sqlvm: schema: unsigned integers can never be negativeTing-Wei Lan2019-05-061-2/+2
|
* core: vm: sqlvm: use common.HashLength instead of 32Ting-Wei Lan2019-05-063-9/+10
| | | | Keep them consisitent with ast/types.go.
* core: vm: remain first byte, if it is not VM enum.Jhih-Ming Huang2019-05-061-3/+1
| | | | | * If first byte is not VM enum, we should reserve it as checking VM type. * Remove debug print.
* core: vm: sqlvm: ast: implement decimal to uint64Jhih-Ming Huang2019-05-064-26/+82
| | | | | deciaml.IntPart() returns int64, so we have to implement a function to convert deciaml to uint64 for reading primary id from Raw.
* core: vm: sqlvm: runtime: implement opLoadJhih-Ming Huang2019-05-062-8/+510
|
* core: vm: sqlvm: common: storage: implement storage util functionsJhih-Ming Huang2019-05-063-1/+201
| | | | | Implement some storage utility functions, including shift slot, get dynamic byte and get primary key hash.
* core: vm: sqlvm: schema: implment get column field type and set offsetJhih-Ming Huang2019-05-062-2/+243
| | | | | Since we have to packing our data in slot, it needs to calculate each column field's slot and byte offset.
* core: vm: sqlvm: runtime: add loadRegister funcJhih-Ming Huang2019-05-062-1/+10
| | | | Implement load register to input operands, before each op.
* core: vm: sqlvm: ast: add size func and move error code to errors.goJhih-Ming Huang2019-05-063-19/+69
| | | | Move error code to errors.go, and implement Size method for column field.
* core: vm: sqlvm: types: fix encode bug when exponent is negative (#270)yenlinlai2019-05-062-4/+10
| | | | | It is possible that the number to encode is produced by arithmetic operations and has negative exponent even when it is an integer. Properly handle this case and modify test cases to check it.
* core: vm: sqlvm: schema: add structs to identify an object in a schemaTing-Wei Lan2019-05-061-0/+26
| | | | | These structs will be used in identifier nodes to store references to objects defined in the schema or the command itself.
* core: vm: sqlvm: schema: mark if an index are referenced by foreign keysTing-Wei Lan2019-05-061-0/+36
| | | | | | | In order to check foreign keys efficiently during deletion, an index should be marked when it is referenced by foreign keys. Since we now have flags which cannot be declared directly from the source code, two helper functions are added to distinguish between two groups of flags.
* core: vm: sqlvm: schema: reorder fields and enumsTing-Wei Lan2019-05-061-6/+19
| | | | | Reorder fields and enums according to the grammar file to make it easier to check whether all features supported by the grammar are implemented.
* core: vm: sqlvm: schema: drop pointers from slicesTing-Wei Lan2019-05-062-9/+9
| | | | | | | The number of tables, columns, indices are all limited to 256, so we don't have to do much memory copying during appending. Drop pointers from slices to save memory for storing pointers and possibly improve locality.
* core: vm: sqlvm: parser: check if a number literal is an integerTing-Wei Lan2019-05-062-976/+1045
| | | | | | ORDER BY and GROUP BY options have to decide whether an expression is a reference to the column specified in SELECT command by checking whether it consists of only one integer literal.
* core: vm: sqlvm: make a common interface for statementsTing-Wei Lan2019-05-065-1622/+2281
| | | | | | | So Parse now returns a []ast.StmtNode instead of a generic []ast.Node, which should be clearer on what the return value looks like. This also adds a field recording the verb use to identify the statement in order to provide better error messages.
* core: vm: sqlvm: errors: remove token fieldTing-Wei Lan2019-05-065-474/+440
| | | | | | | | Now both position and length are both recorded in the error struct, recording the token in the error struct no longer provides any benefit. It is easy to find the token when position and length are known, but requiring all error locations to fill the field is complicated because they have to access the source code to find the token.
* core: vm: fix typoTing-Wei Lan2019-05-061-1/+1
|
* remove dexon/crypto/sha3 pkg.Jhih-Ming Huang2019-05-066-11/+12
|
* core: vm: sqlvm: add shared variables (#228)Meng-Ying Yang2019-05-063-11/+19
|
* core: vm: sqlvm: add ESCAPE grammarwmin02019-05-064-653/+768
| | | | | Provide ESCAPE grammar for specifying escape character in like pattern matching.
* core: vm: sqlvm: errors: add length fieldTing-Wei Lan2019-05-065-442/+484
| | | | | When an error corresponds to a source code token, it should be able to report the length of the token in addition to the position.
* core: vm: sqlvm: limit the depth of AST to 1024Ting-Wei Lan2019-05-063-7/+50
| | | | | Since we traverse an AST by calling functions recursively, we have to protect the parser by limiting the depth of an AST.
* core: vm: sqlvm: parser: move generated code to internal packageTing-Wei Lan2019-05-065-1565/+1585
| | | | | | | | Code generated by pigeon includes many exported symbols which should not be used by any other code other than the parser itself. To prevent them from being misused, we used to hide them by editing the generated code with sed. This commit removes the unreliable sed trick by putting generated code to internal package.
* core: vm: sqlvm: ast: use non-empty interfaces in DataType{En,De}codeTing-Wei Lan2019-05-062-80/+34
| | | | | | | In addition to changes required to move DataTypeEncode and DataTypeDecode to use TypeNode interface, this commit also unifies the meaning of 'Size' field in 'FixedBytesTypeNode'. It always counts the length in bytes now.
* core: vm: sqlvm: errors: fix typoTing-Wei Lan2019-05-061-1/+1
|
* core: vm: sqlvm: parser: don't use @, #, $ in unquoted identifiersTing-Wei Lan2019-05-062-35/+34
| | | | | | These symbols are allowed in Microsoft SQL or PostgreSQL, but the SQL standard doesn't mention them. It is still possible to use these symbols as identifiers by putting them in double quotes.
* core: sqlvm: schema: define type for table/column/index/sequence sizeyenlin.lai2019-05-062-5/+17
| | | | | The size of table in db and column/index/sequence in a table is bounded by uint8. Define types for better readability.
* core: vm: sqlvm: ast: handle error in AST printerTing-Wei Lan2019-05-062-33/+63
| | | | Catch the error reported by fmt.Fprintf and report it to the caller.
* core: vm: sqlvm: fill source code position in AST nodesTing-Wei Lan2019-05-067-1141/+1510
| | | | | | | | | | | | | | | Now all AST nodes should have position information recorded during parsing. These fields are intended to be used to report errors and make debugging easier. However, precise location of each token is currently unavailable. It can be done in the future if it becomes necessary. To make it easier to traverse an AST, GetChildren is modified to skip nil nodes in the output. This means callers of GetChildren don't have to check for nil in returned slices. AST printer is modified to print the position and the corresponding source code token. A few special handling for interfaces are removed because reflection works better for structs.
* core: vm: sqlvm: ast: use pointer receiversTing-Wei Lan2019-05-061-89/+89
| | | | | | | Since all nodes must be declared as pointers to satisfy the interface, it is no longer meaningful to use value receivers. It should make the code look more consistent and reduce the amount of memory copying during function calls because these structs takes at least 8 bytes.
* core: vm: sqlvm: ast: remove pointer indicator in printer outputTing-Wei Lan2019-05-061-5/+4
| | | | | | Since our 'Node' interface includes methods which must be implemented with pointer receivers, all AST nodes are now referenced with pointers and the '*' pointer indicator is no longer useful.
* core: vm: sqlvm: check if a number is a valid addressTing-Wei Lan2019-05-065-334/+312
| | | | | | | | | | | | This commit implements isAddress function to allow a number literal to be considered as an address literal. Since Solidity only allows '0x' to be written in lower case, we remove the handling of upper case '0X' to keep the behavior in sync with Solidity. In addition to isAddress implementation, this commit also removes 'String' methods from AST nodes to prevent them from implementing the builtin 'Stringer' interface. Therefore, our AST printer is now able to print struct fields of value nodes instead of only one string.
* core: vm: sqlvm: introduce interfaces for AST nodesTing-Wei Lan2019-05-069-1704/+2956
| | | | | | | | | In order to make our AST easier and safer to use, all declarations with empty interface type are now removed. This changes also makes it possible to traverse the AST without using reflection or understanding what each type means because all AST nodes have at least one common interface.
* core: vm: sqlvm: runtime entrypoing error handlingMeng-Ying Yang2019-05-063-5/+14
| | | | Return error.Error to reveal more information about returned error.
* dex: remove file that should not be committed (#204)Jimmy Hu2019-05-061-0/+0
| | | | | | * dex: remove file that should not be committed * add file to .gitignore
* Update .travis.ymlJimmy Hu2019-05-061-0/+1
|
* core: vm: sqlvm: parser: toDecimal handle .0wmin02019-05-062-0/+4
| | | | | To cover the pitfall of decimal.fromString, we need to add leading 0 at '^\.[0-9]+' case.
* core: rebase dev and fix lintJhih-Ming Huang2019-05-0610-4416/+27
|
* core: vm: sqlvm: types support data rangeMeng-Ying Yang2019-05-062-0/+82
| | | | | The data range is deterministic for specific type, `GetMinMax` is helper function to generate min, max value for clients.
* core: vm: sqlvm: export instruction's member (#197)JM2019-05-062-6/+6
|
* core: vm: sqlvm: revert Tuple structure (#193)JM2019-05-061-4/+5
|
* core: vm: sqlvm: modify Tuple.Data.Value typeJhih-Ming Huang2019-05-061-7/+3
| | | | | Modify Tuple.Data.Value type from *big.Int to interface{} and remove Max, Min.
* core: vm: sqlvm: shared interfaces and paramsJhih-Ming Huang2019-05-066-0/+245
| | | | | | | After reconstructing commits, we move shared interfaces and params as first runtime implementation. In this commit we define OP codes, runtime flow and entrypoint, and basic operand structs and minor helper components.
* core: vm: sqlvm: add schema define and implement rlp serializationwmin02019-05-064-42/+310
| | | | Implement schema struct and handle its rlp serialization.
* core: vm: sqlvm: ast: add encoder/decoder for decimal to byteswmin02019-05-062-11/+196
| | | | | | | | Add encoder/decoder to convert between decimal and bytes. Also handle issues below. * Signed & Unsigned * Padding * Floating point of fixed
* core: vm: sqlvm: ast: data type encoder and decoderwmin02019-05-062-0/+244
| | | | | Implement encode & decode function to convert between type node and 2-bytes type described on spec.
* core: vm: sqlvm: ast: don't hardcode output and indent in PrintASTTing-Wei Lan2019-05-062-26/+35
| | | | | It is now possible to write AST dump to a writer other than stdout and use indent string other than 2 spaces.
* core: vm: sqlvm: process non-UTF-8 input and escape sequencesTing-Wei Lan2019-05-068-337/+579
| | | | | | | | | | | | | | | Our parser is able to process queries with invalid UTF-8, provided that it is compatible with ASCII. Since doing so requires encoding the input before passing to pigeon, Parse* functions generated by pigeon are unexported because they should not be used directly. Escape sequences in string literals and identifiers are now recognized. In addition to escape sequences supported by solidity, we support \U similar to the one supported by Go to allow users to specify non-BMP Unicode code point without using multiple \x escapes. AST printer is modified to quote non-printable characters in strings to prevent control characters from messing up the terminal.
* core: vm: sqlvm: parser: properly handle errorsTing-Wei Lan2019-05-066-1242/+1637
| | | | | | Instead of ignoring errors, errors returned from external functions are normalized and reported to users. Errors which should be impossible to occur are converted to panic calls.
* core: vm: sqlvm: remove optional interface and add print tag for detailwmin02019-05-063-99/+49
| | | | | | | There are some changes in print ast utility. 1. instead of using optional interface to get detail, use reflect 2. implement a `print` field tag for printer switching detail mode or not
* core: vm: sqlvm: move AST and parser to their own packagesTing-Wei Lan2019-05-068-1837/+2010
| | | | | | | | In order to avoid putting too many different things in single package and allow other projects to reuse the syntax tree and the parser, these two components are moved to different packages and all nodes used in AST are now exported. A lot of comments are added in this commit to pass golint checks.
* core: vm: sqlvm: add a tool to run gofmt on pigeon sourcesTing-Wei Lan2019-05-061-0/+253
| | | | | | This tool is good enough to format our sqlvm grammar file. It is not guaranteed to work for all valid pigeon files, and it only process multi-line Go code blocks.
* core: vm: sqlvm: add sql language parser prototypingwmin02019-05-0613-0/+11043
| | | | | | | | | Add sql language parser prototyping along with 1. grammar file implemented with github.com/mna/pigeon 2. ast node struct definition 3. simple parser test which only test if error existed 4. ast printer utility for visualizing parsing result
* core: vm: vm interface (#164)JM2019-05-0623-84/+805
|
* core: vm: extract stateDB and contract outjm2019-05-0631-439/+509
| | | | | Extract stateDB and contract out from core/vm/evm to core/vm, such that other vm type can use the common modules.
* core: vm: refactor file structurejm2019-05-0698-901/+5313
| | | | | For support other vm types, this pr modified the core/vm file structures.
* zoo: refacter and save keys (#403)Jimmy Hu2019-05-046-180/+380
|
* ci: build release/x.x branch (#401)Jimmy Hu2019-04-301-0/+1
|
* cmd: nodekey: add pk2addr (#400)Jimmy Hu2019-04-301-0/+27
|
* core: vm: implement transferNodeOwnershipByFoundation (#399)v1.0.1Wei-Ning Huang2019-04-263-0/+93
|
* ci: use new cert file to run ci in travis.org (#398)bojie2019-04-263-1/+1
|
* vendor: sync to latest core (#394)v1.0.0Jimmy Hu2019-04-253-27/+30
|
* core, rawdb, dex: improve gov state for syncing (#393)Sonic2019-04-245-3/+108
| | | | * core, rawdb, dex: improve gov state for syncing
* vendor: sync to latest core (#392)Jimmy Hu2019-04-242-23/+23
|
* core: update mainnet genesis allocWei-Ning Huang2019-04-232-2/+2
|
* test: run smoke test on ganache (#388)Sonic2019-04-233-7/+44
| | | | | | | | | | | | * test: run smoke test on ganache * Update build/setup_recovery_env.sh Co-Authored-By: Jsying <sonic@dexon.org> * Update build/setup_recovery_env.sh Co-Authored-By: Jsying <sonic@dexon.org>
* core: update mainnet genesis alloc (#389)Wei-Ning Huang2019-04-232-2/+2
|
* vendor: sync to latest core (#386)Jimmy Hu2019-04-222-22/+23
|
* core: update mainnet genesis alloc (#384)Wei-Ning Huang2019-04-222-2/+2
|
* core: vm: add sanity check for updateConfiguration (#383)Wei-Ning Huang2019-04-221-0/+12
|
* core: optimize verify header (#381)Jimmy Hu2019-04-221-11/+76
|
* core: only verify the last tsig of header chain (#380)Jimmy Hu2019-04-201-6/+13
|
* vendor: sync to latest coreJimmy Hu2019-04-194-75/+73
|
* core: vm: fix node offset during transfer (#377)Wei-Ning Huang2019-04-192-13/+9
|
* dex/downloader: fix find common ancestor (#376)Sonic2019-04-191-2/+2
|
* core: mainnet genesis allocation (#375)Wei-Ning Huang2019-04-182-2/+2
|
* crypto: use go-ethereum secp256k1 package to avoid symbol conflict (#374)Wei-Ning Huang2019-04-18100-265/+793
|
* core: vm: add withdrawable (#373)Jimmy Hu2019-04-183-15/+66
|
* ci: fix wrong bucket name (#371)bojie2019-04-173-6/+6
|
* core: vm: refine panic flow (#372)Wei-Ning Huang2019-04-171-15/+7
| | | | Move panic call to immediate location of the error to prevent accidententaly panic on other conditions.
* params: update mainnet owner address and recovery contract (#370)Wei-Ning Huang2019-04-171-24/+24
|
* core: update mainnet genesis allocation data and config (#369)Wei-Ning Huang2019-04-163-4/+4
|
* core: vm: clearDKG in resetDKG (#368)Jimmy Hu2019-04-161-0/+8
|
* params: update taipei bootnodeJimmy Hu2019-04-161-1/+1
|
* core: vm: fix emitReported (#367)Wei-Ning Huang2019-04-161-6/+15
|
* core: vm: prevent setting owner to blackhole (#366)Jimmy Hu2019-04-162-1/+19
| | | | | | * core: vm: prevent setting owner to blackhole * core: vm: same for transferNodeOwner
* ci: use prod certification (#365)bojie2019-04-163-6/+6
|
* vendor: sync to latest coreJimmy Hu2019-04-154-51/+84
|
* dex: add pullblock rate limit (#363)Jimmy Hu2019-04-151-8/+20
|
* core: implement DKG success (#362)Jimmy Hu2019-04-1519-72/+391
| | | | | | | | * vendor: sync to latest core * core: implmenet dkg success * cmd: govtool: add DKGSuccess
* build: reduce waittime for recovery test to 300sJimmy Hu2019-04-141-1/+1
|
* vendor: sync to latest coreJimmy Hu2019-04-132-21/+31
|
* cmd: add govtool for decoding governance input (#361)Wei-Ning Huang2019-04-131-0/+145
|
* fixup! build: disable static built by default (#359)Wei-Ning Huang2019-04-131-1/+1
|
* build: disable static built by default (#359)Wei-Ning Huang2019-04-125-156/+35
|
* dex: implement bad peer detect and disconnect mechanism (#360)Wei-Ning Huang2019-04-1216-129/+279
|
* dex: update recovery contract ABI (#357)Wei-Ning Huang2019-04-111-54/+0
|
* vendor: use BLS-12_384 curve and update dependencies (#356)Wei-Ning Huang2019-04-11171-1268/+24751
|
* misc: use master branch for dexon-consensusJimmy Hu2019-04-111-1/+1
|
* core: add reset to dkg private key db (#355)Jimmy Hu2019-04-117-78/+92
| | | | | * vendor: sync to latest core * core: dkg private key db
* fixup! Change import go github.com/dexon-foundation/dexonJhih-Ming Huang2019-04-1015-62/+64
|
* consensus: dexcon: set correct tx fee receiverWei-Ning Huang2019-04-101-1/+1
|
* core: vm: improve MPK reverse lookup performanceWei-Ning Huang2019-04-103-82/+92
| | | | | By storing array offset in the original DKGMasterPublicKeyProposed map, we can locate MPK by proposer ID easily.
* Update README.md (#351)Wei-Ning Huang2019-04-10