// Copyright 2015 The go-ethereum Authors // This file is part of the go-ethereum library. // // The go-ethereum library is free software: you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // The go-ethereum library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with the go-ethereum library. If not, see . package core import ( "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/consensus" "github.com/ethereum/go-ethereum/consensus/misc" "github.com/ethereum/go-ethereum/core/state" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/params" ) // StateProcessor is a basic Processor, which takes care of transitioning // state from one point to another. // // StateProcessor implements Processor. type StateProcessor struct { config *params.ChainConfig // Chain configuration options bc *BlockChain // Canonical block chain engine consensus.Engine // Consensus engine used for block rewards } // NewStateProcessor initialises a new StateProcessor. func NewStateProcessor(config *params.ChainConfig, bc *BlockChain, engine consensus.Engine) *StateProcessor { return &StateProcessor{ config: config, bc: bc, engine: engine, } } // Process processes the state changes according to the Ethereum rules by running // the transaction messages using the statedb and applying any rewards to both // the processor (coinbase) and any included uncles. // // Process returns the receipts and logs accumulated during the process and // returns the amount of gas that was used in the process. If any of the // transactions failed to execute due to insufficient gas it will return an error. func (p *StateProcessor) Process(block *types.Block, statedb *state.StateDB, cfg vm.Config) (types.Receipts, []*types.Log, uint64, error) { var ( receipts types.Receipts usedGas = new(uint64) header = block.Header() allLogs []*types.Log gp = new(GasPool).AddGas(block.GasLimit()) ) // Mutate the block and state according to any hard-fork specs if p.config.DAOForkSupport && p.config.DAOForkBlock != nil && p.config.DAOForkBlock.Cmp(block.Number()) == 0 { misc.ApplyDAOHardFork(statedb) } // Iterate over and process the individual transactions for i, tx := range block.Transactions() { statedb.Prepare(tx.Hash(), block.Hash(), i) receipt, _, err := ApplyTransaction(p.config, p.bc, nil, gp, statedb, header, tx, usedGas, cfg) if err != nil { return nil, nil, 0, err } receipts = append(receipts, receipt) allLogs = append(allLogs, receipt.Logs...) } // Finalize the block, applying any consensus engine specific extras (e.g. block rewards) p.engine.Finalize(p.bc, header, statedb, block.Transactions(), block.Uncles(), receipts) return receipts, allLogs, *usedGas, nil } // ApplyTransaction attempts to apply a transaction to the given state database // and uses the input parameters for its environment. It returns the receipt // for the transaction, gas used and an error if the transaction failed, // indicating the block was invalid. func ApplyTransaction(config *params.ChainConfig, bc ChainContext, author *common.Address, gp *GasPool, statedb *state.StateDB, header *types.Header, tx *types.Transaction, usedGas *uint64, cfg vm.Config) (*types.Receipt, uint64, error) { msg, err := tx.AsMessage(types.MakeSigner(config, header.Number)) if err != nil { return nil, 0, err } // Create a new context to be used in the EVM environment context := NewEVMContext(msg, header, bc, author) // Create a new environment which holds all relevant information // about the transaction and calling mechanisms. vmenv := vm.NewEVM(context, statedb, config, cfg) // Apply the transaction to the current state (included in the env) _, gas, failed, err := ApplyMessage(vmenv, msg, gp) if err != nil { return nil, 0, err } // Update the state with pending changes var root []byte if config.IsByzantium(header.Number) { statedb.Finalise(true) } else { root = statedb.IntermediateRoot(config.IsEIP158(header.Number)).Bytes() } *usedGas += gas // Create a new receipt for the transaction, storing the intermediate root and gas used by the tx // based on the eip phase, we're passing whether the root touch-delete accounts. receipt := types.NewReceipt(root, failed, *usedGas) receipt.TxHash = tx.Hash() receipt.GasUsed = gas // if the transaction created a contract, store the creation address in the receipt. if msg.To() == nil { receipt.ContractAddress = crypto.CreateAddress(vmenv.Context.Origin, tx.Nonce()) } // Set the receipt logs and create a bloom for filtering receipt.Logs = statedb.GetLogs(tx.Hash()) receipt.Bloom = types.CreateBloom(types.Receipts{receipt}) return receipt, gas, err } evel/electron4/files/lodash.merge-4.6.2 FreeBSD Ports (https://github.com/freebsd/freebsd-ports)
aboutsummaryrefslogtreecommitdiffstats
path: root/converters
Commit message (Expand)AuthorAgeFilesLines
* Activate "tcs".Jun Kuriyama1999-10-201-0/+1
* TCS - Translate Character SetsJun Kuriyama1999-10-205-0/+43
* ${INSTALL_MAN} instead of ${CP}Chris Piazza1999-10-021-1/+1
* Activate mmencodeChris Piazza1999-10-021-0/+1
* Import of mmencode.Chris Piazza1999-10-027-0/+120
* Update to KDE-1.1.2Stefan Eßer1999-09-204-6/+6
* FreeBSD.ORG -> FreeBSD.orgMichael Haro1999-08-317-8/+8
* Remove preceeding pkgname from some of the comments having one.Tim Vanderhoek1999-08-301-1/+1
* ln -> ${LN}Michael Haro1999-08-281-1/+1
* echo -> ${ECHO} or ${ECHO_MSG} and in some cases, move echo stuffMichael Haro1999-08-281-1/+1
* Change Id->FreeBSD.David E. O'Brien1999-08-2521-21/+21
* Move distfile location to http://www.freebsd.org/~chris/distfiles/Chris Costello1999-08-091-3/+3
* As threatened, enforce the "Capital, no period" rule. Ellipses areTim Vanderhoek1999-06-2715-15/+15
* (1) The old fconv-0.1.tar.gz had binaries for i386,Satoshi Taoka1999-06-232-4/+2
* This port contains i386 binaries.Steve Price1999-06-231-1/+3
* Update to version 0.40Bill Fenner1999-06-132-5/+5
* Add fconvSatoshi Taoka1999-06-071-1/+2
* Converts DOS or Mac-style files to Unix format, and vice-versaSatoshi Taoka1999-06-075-0/+30
* Switch from GNU_CONFIGURE to USE_LIBTOOL with port so that it won't installMichael Haro1999-06-064-12/+4
* Remove kde 1.0 ports in favor of the 1.1 versions.Steve Price1999-05-291-2/+1
* Moved textproc/tuc to converters/tucSatoshi Taoka1999-05-193-5/+6
* Make this port PREFIX friendly.Steve Price1999-05-172-4/+22
* Clean up after yet another repository copy. Renamed "kde*-i18n-11"Satoshi Asami1999-05-111-2/+2
* Activate kdesupport-i18n-11, kdelibs-i18n-11, kdebase-i18n-11.SADA Kenji1999-05-111-1/+2
* Categories should be "converters kde", not "x11 kde".Satoshi Asami1999-05-112-4/+4
* Cleanup empty directories.Jun Kuriyama1999-05-061-0/+2
* Activate unix2dosSeiichirou Hiraoka1999-05-061-1/+2
* PR: ports/9866Seiichirou Hiraoka1999-05-065-0/+34
* Upgrade KDE to Release 1.1.1.Stefan Eßer1999-05-045-22/+11
* I *LOVE* WWW:Michael Haro1999-05-031-1/+1
* These three were easy. Now tell my why some of the other pkg/DESCRsTim Vanderhoek1999-05-033-3/+3
* Activate the i18ntools port.Steve Price1999-04-211-1/+2
* Initial import of i18ntools version 1.0.Steve Price1999-04-215-0/+278
* Fix bug in manpage.David E. O'Brien1999-04-181-0/+11
* Activate the libutf-8 port.Steve Price1999-04-171-1/+2
* Initial import of libutf-8 version 1.0.Steve Price1999-04-176-0/+56
* Import of tuc version 1.10.Steve Price1999-04-175-0/+33
* Update to version 2.11.Steve Price1999-04-022-4/+4
* Change `MASTER_SITES', preparing for move of ports.jp.freebsd.org,SADA Kenji1999-03-071-2/+2
* MASTER_SITE_SUBDIR was broken. My choices in fixing were either go withDavid E. O'Brien1999-02-284-6/+10
* The extra checksum wasn't bogus after all. Both are required sinceSteve Price1999-02-253-0/+3
* Remove extraneous checksums.Steve Price1999-02-223-3/+0
* Upgrade to 2.10.Vanilla I. Shu1999-02-202-5/+5
* Unbreak.Justin M. Seger1999-02-161-6/+2
* Don't change world-known name uudeview.h to uu.h upon installation,Andrey A. Chernov1999-02-112-3/+3
* Upgrade to KDE 1.1 RELEASE.Stefan Eßer1999-02-096-15/+43
* Upgrade to KDE-1.1pre2 ...Stefan Eßer1999-02-076-22/+28
* Adjust port Makefiles to new EXTRACT_* variable defaults. See log ofSatoshi Asami1999-02-033-15/+6
* ${MASTER_SITE_GNU} got rearranged in December; let's catch up.Bill Fenner1999-01-271-1/+2
* The red face you see behind the table is yours truly being ashamed bySatoshi Asami1999-01-212-8/+8
* Fix ordering of ln -s arguments -- the lib*.so symlinks were not properlySatoshi Asami1999-01-212-8/+8
* Rewrite p5- module's PLIST for alpha.Hidetoshi Shimokawa1999-01-112-8/+8
* Add bzip2 dependency. They were missing in some kde*11 Makefiles.Satoshi Asami1999-01-112-2/+6
* Add kde*11 dirs.Satoshi Asami1999-01-071-1/+2
* Upgrade to the first pre-release of KDE 1.1.Stefan Eßer1999-01-077-36/+101
* Mark these broken while Stefan works on an upgrade.Satoshi Asami1999-01-062-2/+6
* Upgrade to 2.09Bill Fumerola1998-12-082-4/+4
* Moving converters/man2html -> textproc/man2htmlBill Fumerola1998-11-211-2/+1
* Activate man2htmlBill Fumerola1998-11-211-1/+2
* Use bsd.port.{pre,post}.mk to move PORTOBJFORMAT to front, or changeSatoshi Asami1998-11-141-8/+10
* Use bsd.port.{pre,post}.mk. Either use them to avoid having to defineSatoshi Asami1998-11-111-3/+4
* Mark BROKEN for current:Justin M. Seger1998-10-121-1/+6
* ish/uuencode converterJun Kuriyama1998-10-036-0/+59
* Activate aish.Jun Kuriyama1998-10-031-1/+2
* Elfify (no response from the maintainer)Brian Somers1998-10-024-12/+14
* Mark BROKEN for ELF.Justin M. Seger1998-10-012-2/+6
* Remove regexp support uulib.Steve Price1998-09-271-2/+2
* Remove regexp support for uulib.Steve Price1998-09-271-3/+3
* Remove empty directories on deinstall.Steve Price1998-09-271-0/+6
* Convert to ELF.Steve Price1998-09-274-60/+65
* tk80 has been ELFized.Satoshi Asami1998-09-251-2/+2
* Use ${PERL5} wherever appropriate. Largely untested; hope my eyeballSatoshi Asami1998-09-162-4/+4
* Unbreak after the perl upgrade.Steve Price1998-08-302-7/+5
* Change for perl5 scheme.Vanilla I. Shu1998-08-192-9/+10
* Manpages? What manpages?Tim Vanderhoek1998-08-178-13/+0
* Replace qt dependencies with USE_QT.Satoshi Asami1998-08-122-8/+4
* Fix up dependencies for ports that moved into the x11-toolkits category.Satoshi Asami1998-08-083-8/+8
* Mark this port broken, didn't survive the perl upgrade.Satoshi Asami1998-08-081-1/+3
* Upgrade to 2.06, and make it compatible with perl5.00501.Vanilla I. Shu1998-08-063-16/+14
* Grammar, spelling, and usage police. This commit brought to you byMatthew Hunt1998-08-061-1/+1
* Add homepage.Tim Vanderhoek1998-07-242-0/+4
* Add homepage. Fix my language a little ("I wrote that!?").Tim Vanderhoek1998-07-241-2/+5
* Change dependencies to accept Qt-1.33 if present,Stefan Eßer1998-07-242-6/+6
* Upgrade to KDE Release 1.0Stefan Eßer1998-07-204-34/+12
* Mark as broken, will be upgraded to 1.0 within a few days.Stefan Eßer1998-07-142-2/+6
* Fix MASTER_SITES.Tim Vanderhoek1998-06-151-3/+3
* Fix MASTER_SITESTim Vanderhoek1998-06-151-3/+3
* Update to Beta-4.1Stefan Eßer1998-05-106-16/+46
* Execute `ldconfig -R' at the pkg_delete step.Thomas Gellekum1998-05-051-0/+1
* Fix MASTER_SITE, since fetch(1) doesn't seem to understand httpTim Vanderhoek1998-04-071-3/+3
* Move the man pages to ${PREFIX}/man/ja from ja_JP.EUC.Masafumi Max NAKANE1998-04-052-3/+3
* Back out changes to use tcl81.Thomas Gellekum1998-03-201-3/+3
* Add a link to my bibliographic character sets patchesWolfram Schneider1998-03-081-0/+17
* Use $(MASTER_SITE_KDE)Stefan Eßer1998-03-072-8/+6
* Upgrade to use tcl8.1 and tk8.1.Justin M. Seger1998-02-251-4/+4
* Activate kdesupport (builds mimelib)Stefan Eßer1998-02-231-1/+2
* Bring back kdesupport, we only need (and only build) "mimelib" sinceStefan Eßer1998-02-2310-0/+148
* Don't need FETCH_BEFORE_ARGS=-t anymore. (Yay!)Tim Vanderhoek1998-02-193-6/+3
* Upgrade to 0.20.Vanilla I. Shu1998-02-193-8/+6
* Upgrade to 2.05.Vanilla I. Shu1998-02-183-8/+8
* Remove kdesupport: Not required by any of our KDE ports ...Stefan Eßer1998-02-1310-160/+0
* Disconnect kdesupport.Stefan Eßer1998-02-131-2/+1
* Add hash for distfiles from tsx-11.mit.edu.Tim Vanderhoek1998-01-103-0/+3
* Upgrade to 2.04.Vanilla I. Shu1997-12-223-5/+9
* Upgrade to 0.05.Vanilla I. Shu1997-12-223-5/+7
* Remove MASTER_SITE ftp.uni-frankfurt.de.Tim Vanderhoek1997-12-072-7/+5
* Remove bad MASTER_SITE.Justin M. Seger1997-11-271-3/+2
* Remove converters/c2html. It needs to be reimported in textproc.Justin M. Seger1997-11-221-2/+1
* Fix LIB_DEPENDS to actually depend on tk. Stylistic nit.Tim Vanderhoek1997-11-211-4/+4
* Activate converters/c2htmlJustin M. Seger1997-11-171-1/+2
* fetch -t; misc style fixes; portlintTim Vanderhoek1997-11-141-15/+11
* FETCH_BEFORE_ARGS= -tTim Vanderhoek1997-11-141-2/+4
* As with xdeview, use our own file/ so people don't trip over itsTim Vanderhoek1997-11-083-3/+18
* Don't depend on ports/converters/uulib's files/ dir.David E. O'Brien1997-11-083-2/+17
* (1) Move the following ports out of x11/:Satoshi Asami1997-11-053-7/+10
* Only the MIME and UU libraries are required from kdesupport,Stefan Eßer1997-11-0310-0/+158
* 2 (two!) lines to upgrade to tk80, plus misc. minor fixes.Tim Vanderhoek1997-10-242-8/+12
* Upgrade, 0.8.0 -> 1.0Masafumi Max NAKANE1997-09-236-60/+92
* Add `q' to EXTRACT_BEFORE_ARGS so that lha will do its work quietly.Masafumi Max NAKANE1997-09-151-3/+3
* Update the maintainer's address (I remember him asking his address inMasafumi Max NAKANE1997-09-151-4/+6
* Let bsd.port.mk do the manpage compression.Masafumi Max NAKANE1997-09-151-4/+0
* Regenerate this patch so that PATCH_STRIP doesn't have to be defined inMasafumi Max NAKANE1997-09-151-2/+2
* activated ports/converters/ish.Jun-ichiro itojun Hagino1997-08-161-1/+2
* a port for "ish binary-to-text file converter".Jun-ichiro itojun Hagino1997-08-166-0/+41
* Upgrade to 1.20Andrey A. Chernov1997-08-135-148/+122
* Upgrade to 2.03Andrey A. Chernov1997-08-052-5/+5
* files/* -> ${FILESDIR}/*.Masafumi Max NAKANE1997-07-221-2/+2
* ldconfig -> ${LDCONFIG}.Masafumi Max NAKANE1997-07-171-2/+2
* Pick up $CFLAGS from /etc/make.conf.Thomas Gellekum1997-07-091-0/+11
* Remove trailing whitespace (ha!).Satoshi Asami1997-07-081-2/+2
* Move mimepp from devel to converters.Thomas Gellekum1997-07-081-1/+2
* Re-import mimepp into converters.Thomas Gellekum1997-07-086-0/+165
* Make all p5- ports use USE_PERL instead of explicitly stating the version num...James FitzGibbon1997-06-252-6/+4
* Add p5-MIME-Base64Andrey A. Chernov1997-06-211-1/+2
* Base64/QP perl moduleAndrey A. Chernov1997-06-215-0/+54
* Upgrade all ports requiring perl5.003 to perl5.004James FitzGibbon1997-05-241-3/+3
* I can't believe I forgot to add uulib here. ;)Satoshi Asami1997-05-211-1/+2
* Upgrade to 1.12Andrey A. Chernov1997-05-065-36/+71
* Use new MASTER_SITE_LOCAL variable from bsd.port.mk.Satoshi Asami1997-04-301-2/+2
* One-liner for new categroy `converters'.Satoshi Asami1997-04-271-0/+1
* Adjust uulib's new path (ports/converters).Satoshi Asami1997-04-272-7/+7
* Move p5-Convert-UU to converters.Satoshi Asami1997-04-272-3/+4
* This is a new category for non-archival, non-encryption character codeSatoshi Asami1997-04-279-16/+28
* Fix header problemsAndrey A. Chernov1997-04-211-14/+0
* Mass update of perl5 ports (most bring the port up-to-date with the latest re...James FitzGibbon1997-04-212-5/+5
* Add virtual category 'perl5'.Wolfram Schneider1997-04-201-2/+2
* Make this puppy *really* link with the shared uulib.David E. O'Brien1997-04-021-0/+13
* - Link with shared libuu rather than static one.David E. O'Brien1997-04-026-50/+46
* Need to run ``ldconfig -m'' on install.David E. O'Brien1997-04-021-2/+3
* Build shared lib too.David E. O'Brien1997-04-024-3/+57
* Share the files/ dir and contents with devel/uulibDavid E. O'Brien1997-03-316-19/+4
* Don't look for malloc.h from configure. Not only malloc.h in FreeBSDSatoshi Asami1997-03-301-0/+11
* Checksum was different from what I got.Satoshi Asami1997-03-301-1/+1
* This is a powerful and easy-to-use tcl/tk-based programDavid E. O'Brien1997-03-306-0/+66
* Upgrade to 0.5.13.David E. O'Brien1997-03-305-42/+23
* More patches from ports/2701.David E. O'Brien1997-03-304-11/+30
* Update to 0.5.13.David E. O'Brien1997-03-301-1/+1
* Update to 0.5.13.David E. O'Brien1997-03-301-26/+18
* A quick purousal thru our port's patches directory shows a *WAY* over use ofDavid E. O'Brien1997-02-171-1/+1
* Change Brent J. Nordquist's e-mail address.Satoshi Asami1997-01-282-4/+4
* Upgrade to 0.5.9Andrey A. Chernov1996-12-122-11/+6
* Upgrade to 0.5.9Andrey A. Chernov1996-12-122-5/+7
* Update to take advantage of new features in bsd.port.mk rev. 1.237.Satoshi Asami1996-12-112-12/+5
* Move man page from ja_JP.sjis to ja_JP.EUC. (Yes, I converted it, theseSatoshi Asami1996-12-073-4/+7
* "-mkdir -p" -> "${MKDIR}".Satoshi Asami1996-11-301-2/+2
* More freebsd tuningAndrey A. Chernov1996-11-271-0/+26