Comparing version 0.3.6 to 0.4.0
{ | ||
"name": "solc", | ||
"version": "0.3.6", | ||
"version": "0.4.0", | ||
"description": "Solidity compiler", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
@@ -16,5 +16,5 @@ [![Build Status](https://travis-ci.org/ethereum/solc-js.svg?branch=master)](https://travis-ci.org/ethereum/solc-js) | ||
### Using on the command line | ||
### Usage on the Command-Line | ||
If this package is installed globally (`npm install -g solc`), a commandline tool called `solcjs` will be available. | ||
If this package is installed globally (`npm install -g solc`), a command-line tool called `solcjs` will be available. | ||
@@ -27,3 +27,3 @@ To see all the supported features, execute: | ||
### Using in projects | ||
### Usage in Projects | ||
@@ -91,3 +91,3 @@ It can also be included and used in other projects: | ||
In order to allow compiling contracts using a specific version of Solidity, the `solc.useVersion` method is available. This returns a new solc object using the version provided. **Note**: version strings must match the version substring of the files availble in `/bin/soljson-*.js`. See below for an example. | ||
In order to compile contracts using a specific version of Solidity, the `solc.useVersion` method is available. This returns a new `solc` object that uses a version of the compiler specified. **Note**: version strings must match the version substring of the files available in `/bin/soljson-*.js`. See below for an example. | ||
@@ -125,3 +125,3 @@ ```javascript | ||
### Linking bytecode | ||
### Linking Bytecode | ||
@@ -128,0 +128,0 @@ When using libraries, the resulting bytecode will contain placeholders for the real addresses of the referenced libraries. These have to be updated, via a process called linking, before deploying the contract. |
@@ -19,3 +19,3 @@ var requireFromString = require('require-from-string'); | ||
var wrapCallback = function (callback) { | ||
return soljson.Runtime.addFunction(function (path, contents, error) { | ||
return function (path, contents, error) { | ||
var result = callback(soljson.Pointer_stringify(path)); | ||
@@ -28,8 +28,14 @@ if (typeof result.contents === 'string') { | ||
} | ||
}); | ||
}; | ||
}; | ||
var compileInternal = soljson.cwrap('compileJSONCallback', 'string', ['string', 'number', 'number']); | ||
compileJSONCallback = function (input, optimize, readCallback) { | ||
var cb = wrapCallback(readCallback); | ||
var output = compileInternal(input, optimize, cb); | ||
var cb = soljson.Runtime.addFunction(wrapCallback(readCallback)); | ||
var output; | ||
try { | ||
output = compileInternal(input, optimize, cb); | ||
} catch (e) { | ||
soljson.Runtime.removeFunction(cb); | ||
throw e; | ||
} | ||
soljson.Runtime.removeFunction(cb); | ||
@@ -36,0 +42,0 @@ return output; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
22412
205
2