remix-project mirror
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
remix-project/remix-url-resolver
dependabot[bot] ba17eebe5e Bump acorn from 6.3.0 to 6.4.1 in /remix-url-resolver 5 years ago
..
src rename package to remix-url-resolver 6 years ago
tests ethereum/populus is no longer maintained. Use ours. 6 years ago
.gitignore rename package to remix-url-resolver 6 years ago
.npmignore npmignore file added 5 years ago
README.md Add module.d.ts 6 years ago
package-lock.json Bump acorn from 6.3.0 to 6.4.1 in /remix-url-resolver 5 years ago
package.json release 0.1.30 5 years ago
tsconfig.json update tsconfig to generate declaration 6 years ago
tslint.json rename package to remix-url-resolver 6 years ago

README.md

Remix URL resolver engine

resolve(url, urlHandler)

Returns json object with exact same path as import statement.

Output

{
	content: 'pragma solidity ^0.5.0;\nimport "./mortal.sol";\n\ncontract Greeter is Mortal {\n    /* Define variable greeting of the type string */\n    string greeting;\n\n    /* This runs when the contract is executed */\n    constructor(string memory _greeting) public {\n        greeting = _greeting;\n    }\n\n    /* Main function */\n    function greet() public view returns (string memory) {\n        return greeting;\n    }\n}\n',
	cleanURL: '../greeter.sol',
	type: 'local'
}

Usage

resolve(url, urlHandler) function should be called from within handleImportCb function of solc.compile(input, handleImportCb).

import { RemixURLResolver } from 'remix-url-resolver'

const urlResolver = new RemixURLResolver()
const fileName: string = '../greeter.sol'
urlResolver.resolve(fileName, urlHandler)
	.then((sources: object) => {
		console.log(sources)
	})
	.catch((e: Error) => {
		throw e
	})

References