def test_builder_with_standard_token_manifest(standard_token_package, dummy_ipfs_backend, monkeypatch): root, expected_manifest, compiler_output = standard_token_package ipfs_backend = get_ipfs_backend() monkeypatch.chdir(root) manifest = build( {}, package_name("standard-token"), manifest_version("ethpm/3"), version("1.0.0"), pin_source("StandardToken", compiler_output, ipfs_backend), pin_source("Token", compiler_output, ipfs_backend), contract_type("StandardToken", compiler_output, abi=True, devdoc=True, source_id=True), contract_type("Token", compiler_output, abi=True, devdoc=True, userdoc=True, source_id=True), validate(), ) assert manifest == expected_manifest
def test_builder_with_init_manifest(owned_package, dummy_ipfs_backend): root, expected_manifest, compiler_output = owned_package ipfs_backend = get_ipfs_backend() manifest = build( init_manifest(package_name="owned", version="1.0.0"), authors("Piper Merriam <*****@*****.**>"), description( "Reusable contracts which implement a privileged 'owner' model for authorization." ), keywords("authorization"), license("MIT"), links(documentation= "ipfs://QmUYcVzTfSwJoigggMxeo2g5STWAgJdisQsqcXHws7b1FW"), pin_source("Owned", compiler_output, ipfs_backend, root), validate(), ) assert manifest == expected_manifest
def build_pinned_sources( contract_types: Iterable[str], solc_output: Dict[str, Any], contracts_dir: Path) -> Iterable[Callable[..., Manifest]]: ipfs_backend = get_ipfs_backend() return (b.pin_source(ctype, solc_output, ipfs_backend, contracts_dir) for ctype in contract_types)