difftreelog
feat regenerate solidity stubs
in: master
15 files changed
.maintain/scripts/compile_stub.shdiffbeforeafterboth6tmp=$(mktemp -d)6tmp=$(mktemp -d)7cd $tmp7cd $tmp8cp $dir/$INPUT input.sol8cp $dir/$INPUT input.sol9solcjs --optimize --bin input.sol9solcjs --optimize --bin input.sol -o $PWD101011mv input_sol_$(basename $OUTPUT .raw).bin out.bin11mv input_sol_$(basename $OUTPUT .raw).bin out.bin12xxd -r -p out.bin out.raw12xxd -r -p out.bin out.raw.maintain/scripts/generate_api.shdiffbeforeafterbothno syntactic changes
Makefilediffbeforeafterboth889.PHONY: regenerate_solidity9.PHONY: regenerate_solidity10regenerate_solidity:10regenerate_solidity:11 PACKAGE=pallet-nft NAME=eth::erc::fungible_iface OUTPUT=./tests/src/eth/api/UniqueFungible.sol ./.maintain/scripts/generate_api.sh11 PACKAGE=pallet-fungible NAME=erc::gen_iface OUTPUT=./tests/src/eth/api/UniqueFungible.sol ./.maintain/scripts/generate_api.sh12 PACKAGE=pallet-nft NAME=eth::erc::nft_iface OUTPUT=./tests/src/eth/api/UniqueNFT.sol ./.maintain/scripts/generate_api.sh12 PACKAGE=pallet-nonfungible NAME=erc::gen_iface OUTPUT=./tests/src/eth/api/UniqueNFT.sol ./.maintain/scripts/generate_api.sh13 PACKAGE=pallet-evm-contract-helpers NAME=eth::contract_helpers_iface OUTPUT=./tests/src/eth/api/ContractHelpers.sol ./.maintain/scripts/generate_api.sh13 PACKAGE=pallet-evm-contract-helpers NAME=eth::contract_helpers_iface OUTPUT=./tests/src/eth/api/ContractHelpers.sol ./.maintain/scripts/generate_api.sh141415 PACKAGE=pallet-nft NAME=eth::erc::fungible_impl OUTPUT=./pallets/nft/src/eth/stubs/UniqueFungible.sol ./.maintain/scripts/generate_api.sh15 PACKAGE=pallet-fungible NAME=erc::gen_impl OUTPUT=./pallets/fungible/src/stubs/UniqueFungible.sol ./.maintain/scripts/generate_api.sh16 PACKAGE=pallet-nft NAME=eth::erc::nft_impl OUTPUT=./pallets/nft/src/eth/stubs/UniqueNFT.sol ./.maintain/scripts/generate_api.sh16 PACKAGE=pallet-nonfungible NAME=erc::gen_impl OUTPUT=./pallets/nonfungible/src/stubs/UniqueNFT.sol ./.maintain/scripts/generate_api.sh17 PACKAGE=pallet-evm-contract-helpers NAME=eth::contract_helpers_impl OUTPUT=./pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol ./.maintain/scripts/generate_api.sh17 PACKAGE=pallet-evm-contract-helpers NAME=eth::contract_helpers_impl OUTPUT=./pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol ./.maintain/scripts/generate_api.sh181819FUNGIBLE_EVM_STUBS=./pallets/fungible/src/stubs19NFT_EVM_STUBS=./pallets/nft/src/eth/stubs20NONFUNGIBLE_EVM_STUBS=./pallets/nonfungible/src/stubs20CONTRACT_HELPERS_STUBS=./pallets/evm-contract-helpers/src/stubs/21CONTRACT_HELPERS_STUBS=./pallets/evm-contract-helpers/src/stubs/212222$(NFT_EVM_STUBS)/UniqueFungible.raw: $(NFT_EVM_STUBS)/UniqueFungible.sol23$(FUNGIBLE_EVM_STUBS)/UniqueFungible.raw: $(FUNGIBLE_EVM_STUBS)/UniqueFungible.sol23 INPUT=$< OUTPUT=$@ ./.maintain/scripts/compile_stub.sh24 INPUT=$< OUTPUT=$@ ./.maintain/scripts/compile_stub.sh24$(NFT_EVM_STUBS)/UniqueNFT.raw: $(NFT_EVM_STUBS)/UniqueNFT.sol25$(NONFUNGIBLE_EVM_STUBS)/UniqueNFT.raw: $(NONFUNGIBLE_EVM_STUBS)/UniqueNFT.sol25 INPUT=$< OUTPUT=$@ ./.maintain/scripts/compile_stub.sh26 INPUT=$< OUTPUT=$@ ./.maintain/scripts/compile_stub.sh26$(CONTRACT_HELPERS_STUBS)/ContractHelpers.raw: $(CONTRACT_HELPERS_STUBS)/ContractHelpers.sol27$(CONTRACT_HELPERS_STUBS)/ContractHelpers.raw: $(CONTRACT_HELPERS_STUBS)/ContractHelpers.sol27 INPUT=$< OUTPUT=$@ ./.maintain/scripts/compile_stub.sh28 INPUT=$< OUTPUT=$@ ./.maintain/scripts/compile_stub.sh282929evm_stubs: $(NFT_EVM_STUBS)/UniqueFungible.raw $(NFT_EVM_STUBS)/UniqueNFT.raw $(CONTRACT_HELPERS_STUBS)/ContractHelpers.raw30evm_stubs: $(FUNGIBLE_EVM_STUBS)/UniqueFungible.raw $(NONFUNGIBLE_EVM_STUBS)/UniqueNFT.raw $(CONTRACT_HELPERS_STUBS)/ContractHelpers.raw303131.PHONY: _bench32.PHONY: _bench32_bench:33_bench:crates/evm-coder-macros/src/solidity_interface.rsdiffbeforeafterboth714 )*),714 )*),715 };715 };716 if is_impl {716 if is_impl {717 tc.collect("// Common stubs holder\ncontract Dummy {\n\tuint8 dummy;\n\tstring stub_error = \"this contract is implemented in native\";\n}\ninterface ERC165 {\n\tfunction supportsInterface(bytes4 interfaceID) external view returns (bool) {\n\t\trequire(false, stub_error);\n\t\tinterfaceID;\n\t\treturn true;\n\t}\n}\n".into());717 tc.collect("// Common stubs holder\ncontract Dummy {\n\tuint8 dummy;\n\tstring stub_error = \"this contract is implemented in native\";\n}\ncontract ERC165 is Dummy {\n\tfunction supportsInterface(bytes4 interfaceID) external view returns (bool) {\n\t\trequire(false, stub_error);\n\t\tinterfaceID;\n\t\treturn true;\n\t}\n}\n".into());718 } else {718 } else {719 tc.collect("// Common stubs holder\ninterface Dummy {\n}\ninterface ERC165 {\n\tfunction supportsInterface(bytes4 interfaceID) external view returns (bool);\n}\n".into());719 tc.collect("// Common stubs holder\ninterface Dummy {\n}\ninterface ERC165 is Dummy {\n\tfunction supportsInterface(bytes4 interfaceID) external view returns (bool);\n}\n".into());720 }720 }721 #(721 #(722 #solidity_generators722 #solidity_generatorspallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterbothbinary blob — no preview
pallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth9 string stub_error = "this contract is implemented in native";9 string stub_error = "this contract is implemented in native";10}10}1112contract ERC165 is Dummy {13 function supportsInterface(bytes4 interfaceID)14 external15 view16 returns (bool)17 {18 require(false, stub_error);19 interfaceID;20 return true;21 }22}112312contract ContractHelpers is Dummy {24contract ContractHelpers is Dummy, ERC165 {13 // Selector: contractOwner(address) 5152b14c25 // Selector: contractOwner(address) 5152b14c14 function contractOwner(address contractAddress)26 function contractOwner(address contractAddress)15 public27 publicpallets/fungible/Cargo.tomldiffbeforeafterboth18pallet-common = { default-features = false, path = '../common' }18pallet-common = { default-features = false, path = '../common' }19nft-data-structs = { default-features = false, path = '../../primitives/nft' }19nft-data-structs = { default-features = false, path = '../../primitives/nft' }20evm-coder = { default-features = false, path = '../../crates/evm-coder' }20evm-coder = { default-features = false, path = '../../crates/evm-coder' }21ethereum = { git = "https://github.com/purestake/ethereum", branch = "joshy-scale-info", default-features = false }22pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }21pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }22ethereum = { git = "https://github.com/purestake/ethereum", branch = "joshy-scale-info", default-features = false }23frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.12' }23frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.12' }24scale-info = { version = "1.0.0", default-features = false, features = [24scale-info = { version = "1.0.0", default-features = false, features = [25 "derive",25 "derive",36 "pallet-common/std",36 "pallet-common/std",37 "evm-coder/std",37 "evm-coder/std",38 "ethereum/std",38 "ethereum/std",39 "pallet-evm-coder-substrate/std",39 'frame-benchmarking/std',40 'frame-benchmarking/std',40]41]41runtime-benchmarks = ['frame-benchmarking', 'pallet-common/runtime-benchmarks']42runtime-benchmarks = ['frame-benchmarking', 'pallet-common/runtime-benchmarks']pallets/fungible/src/erc.rsdiffbeforeafterboth111#[solidity_interface(name = "UniqueFungible", is(ERC20))]111#[solidity_interface(name = "UniqueFungible", is(ERC20))]112impl<T: Config> FungibleHandle<T> {}112impl<T: Config> FungibleHandle<T> {}113113114generate_stubgen!(get_impl, UniqueFungibleCall, true);114generate_stubgen!(gen_impl, UniqueFungibleCall, true);115generate_stubgen!(gen_iface, UniqueFungibleCall, false);115generate_stubgen!(gen_iface, UniqueFungibleCall, false);116116117impl<T: Config> CommonEvmHandler for FungibleHandle<T> {117impl<T: Config> CommonEvmHandler for FungibleHandle<T> {pallets/fungible/src/stubs/UniqueFungible.rawdiffbeforeafterbothbinary blob — no preview
pallets/fungible/src/stubs/UniqueFungible.soldiffbeforeafterboth9 string stub_error = "this contract is implemented in native";9 string stub_error = "this contract is implemented in native";10}10}1112contract ERC165 is Dummy {13 function supportsInterface(bytes4 interfaceID)14 external15 view16 returns (bool)17 {18 require(false, stub_error);19 interfaceID;20 return true;21 }22}112312// Inline24// Inline13contract ERC20Events {25contract ERC20Events {19 );31 );20}32}2122// Inline23contract InlineNameSymbol is Dummy {24 // Selector: name() 06fdde0325 function name() public view returns (string memory) {26 require(false, stub_error);27 dummy;28 return "";29 }3031 // Selector: symbol() 95d89b4132 function symbol() public view returns (string memory) {33 require(false, stub_error);34 dummy;35 return "";36 }37}3839// Inline40contract InlineTotalSupply is Dummy {41 // Selector: totalSupply() 18160ddd42 function totalSupply() public view returns (uint256) {43 require(false, stub_error);44 dummy;45 return 0;46 }47}4849contract ERC165 is Dummy {50 // Selector: supportsInterface(bytes4) 01ffc9a751 function supportsInterface(uint32 interfaceId) public view returns (bool) {52 require(false, stub_error);53 interfaceId;54 dummy;55 return false;56 }57}583359contract ERC20 is Dummy, InlineNameSymbol, InlineTotalSupply, ERC20Events {34contract ERC20 is Dummy, ERC165, ERC20Events {35 // Selector: name() 06fdde0336 function name() public view returns (string memory) {37 require(false, stub_error);38 dummy;39 return "";40 }4142 // Selector: symbol() 95d89b4143 function symbol() public view returns (string memory) {44 require(false, stub_error);45 dummy;46 return "";47 }4849 // Selector: totalSupply() 18160ddd50 function totalSupply() public view returns (uint256) {51 require(false, stub_error);52 dummy;53 return 0;54 }5560 // Selector: decimals() 313ce56756 // Selector: decimals() 313ce56761 function decimals() public view returns (uint8) {57 function decimals() public view returns (uint8) {pallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterbothbinary blob — no preview
pallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth15 string stub_error = "this contract is implemented in native";15 string stub_error = "this contract is implemented in native";16}16}1718contract ERC165 is Dummy {19 function supportsInterface(bytes4 interfaceID)20 external21 view22 returns (bool)23 {24 require(false, stub_error);25 interfaceID;26 return true;27 }28}172918// Inline30// Inline19contract ERC721Events {31contract ERC721Events {39 event MintingFinished();51 event MintingFinished();40}52}4142// Inline43contract InlineNameSymbol is Dummy {44 // Selector: name() 06fdde0345 function name() public view returns (string memory) {46 require(false, stub_error);47 dummy;48 return "";49 }5051 // Selector: symbol() 95d89b4152 function symbol() public view returns (string memory) {53 require(false, stub_error);54 dummy;55 return "";56 }57}5859// Inline60contract InlineTotalSupply is Dummy {61 // Selector: totalSupply() 18160ddd62 function totalSupply() public view returns (uint256) {63 require(false, stub_error);64 dummy;65 return 0;66 }67}6869contract ERC165 is Dummy {70 // Selector: supportsInterface(bytes4) 01ffc9a771 function supportsInterface(uint32 interfaceId) public view returns (bool) {72 require(false, stub_error);73 interfaceId;74 dummy;75 return false;76 }77}785379contract ERC721 is Dummy, ERC165, ERC721Events {54contract ERC721 is Dummy, ERC165, ERC721Events {80 // Selector: balanceOf(address) 70a0823155 // Selector: balanceOf(address) 70a08231172 }147 }173}148}174149175contract ERC721Burnable is Dummy {150contract ERC721Burnable is Dummy, ERC165 {176 // Selector: burn(uint256) 42966c68151 // Selector: burn(uint256) 42966c68177 function burn(uint256 tokenId) public {152 function burn(uint256 tokenId) public {178 require(false, stub_error);153 require(false, stub_error);181 }156 }182}157}183158184contract ERC721Enumerable is Dummy, InlineTotalSupply {159contract ERC721Enumerable is Dummy, ERC165 {185 // Selector: tokenByIndex(uint256) 4f6ccce7160 // Selector: tokenByIndex(uint256) 4f6ccce7186 function tokenByIndex(uint256 index) public view returns (uint256) {161 function tokenByIndex(uint256 index) public view returns (uint256) {187 require(false, stub_error);162 require(false, stub_error);203 return 0;178 return 0;204 }179 }180181 // Selector: totalSupply() 18160ddd182 function totalSupply() public view returns (uint256) {183 require(false, stub_error);184 dummy;185 return 0;186 }205}187}206188207contract ERC721Metadata is Dummy, InlineNameSymbol {189contract ERC721Metadata is Dummy, ERC165 {190 // Selector: name() 06fdde03191 function name() public view returns (string memory) {192 require(false, stub_error);193 dummy;194 return "";195 }196197 // Selector: symbol() 95d89b41198 function symbol() public view returns (string memory) {199 require(false, stub_error);200 dummy;201 return "";202 }203208 // Selector: tokenURI(uint256) c87b56dd204 // Selector: tokenURI(uint256) c87b56dd209 function tokenURI(uint256 tokenId) public view returns (string memory) {205 function tokenURI(uint256 tokenId) public view returns (string memory) {214 }210 }215}211}216212217contract ERC721Mintable is Dummy, ERC721MintableEvents {213contract ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {218 // Selector: mintingFinished() 05d2035b214 // Selector: mintingFinished() 05d2035b219 function mintingFinished() public view returns (bool) {215 function mintingFinished() public view returns (bool) {220 require(false, stub_error);216 require(false, stub_error);253 }249 }254}250}255251256contract ERC721UniqueExtensions is Dummy {252contract ERC721UniqueExtensions is Dummy, ERC165 {257 // Selector: transfer(address,uint256) a9059cbb253 // Selector: transfer(address,uint256) a9059cbb258 function transfer(address to, uint256 tokenId) public {254 function transfer(address to, uint256 tokenId) public {259 require(false, stub_error);255 require(false, stub_error);262 dummy = 0;258 dummy = 0;263 }259 }260261 // Selector: burnFrom(address,uint256) 79cc6790262 function burnFrom(address from, uint256 tokenId) public {263 require(false, stub_error);264 from;265 tokenId;266 dummy = 0;267 }264268265 // Selector: nextTokenId() 75794a3c269 // Selector: nextTokenId() 75794a3c266 function nextTokenId() public view returns (uint256) {270 function nextTokenId() public view returns (uint256) {tests/src/eth/api/ContractHelpers.soldiffbeforeafterboth889}9}1011interface ERC165 is Dummy {12 function supportsInterface(bytes4 interfaceID) external view returns (bool);13}101411interface ContractHelpers is Dummy {15interface ContractHelpers is Dummy, ERC165 {12 // Selector: contractOwner(address) 5152b14c16 // Selector: contractOwner(address) 5152b14c13 function contractOwner(address contractAddress)17 function contractOwner(address contractAddress)14 external18 externaltests/src/eth/api/UniqueFungible.soldiffbeforeafterboth889}9}1011interface ERC165 is Dummy {12 function supportsInterface(bytes4 interfaceID) external view returns (bool);13}101411// Inline15// Inline12interface ERC20Events {16interface ERC20Events {18 );22 );19}23}2021// Inline22interface InlineNameSymbol is Dummy {23 // Selector: name() 06fdde0324 function name() external view returns (string memory);2526 // Selector: symbol() 95d89b4127 function symbol() external view returns (string memory);28}2930// Inline31interface InlineTotalSupply is Dummy {32 // Selector: totalSupply() 18160ddd33 function totalSupply() external view returns (uint256);34}3536interface ERC165 is Dummy {37 // Selector: supportsInterface(bytes4) 01ffc9a738 function supportsInterface(uint32 interfaceId) external view returns (bool);39}402441interface ERC20 is Dummy, InlineNameSymbol, InlineTotalSupply, ERC20Events {25interface ERC20 is Dummy, ERC165, ERC20Events {26 // Selector: name() 06fdde0327 function name() external view returns (string memory);2829 // Selector: symbol() 95d89b4130 function symbol() external view returns (string memory);3132 // Selector: totalSupply() 18160ddd33 function totalSupply() external view returns (uint256);3442 // Selector: decimals() 313ce56735 // Selector: decimals() 313ce56743 function decimals() external view returns (uint8);36 function decimals() external view returns (uint8);tests/src/eth/api/UniqueNFT.soldiffbeforeafterboth141415}15}1617interface ERC165 is Dummy {18 function supportsInterface(bytes4 interfaceID) external view returns (bool);19}162017// Inline21// Inline18interface ERC721Events {22interface ERC721Events {38 event MintingFinished();42 event MintingFinished();39}43}4041// Inline42interface InlineNameSymbol is Dummy {43 // Selector: name() 06fdde0344 function name() external view returns (string memory);4546 // Selector: symbol() 95d89b4147 function symbol() external view returns (string memory);48}4950// Inline51interface InlineTotalSupply is Dummy {52 // Selector: totalSupply() 18160ddd53 function totalSupply() external view returns (uint256);54}5556interface ERC165 is Dummy {57 // Selector: supportsInterface(bytes4) 01ffc9a758 function supportsInterface(uint32 interfaceId) external view returns (bool);59}604461interface ERC721 is Dummy, ERC165, ERC721Events {45interface ERC721 is Dummy, ERC165, ERC721Events {62 // Selector: balanceOf(address) 70a0823146 // Selector: balanceOf(address) 70a08231103 returns (address);87 returns (address);104}88}10589106interface ERC721Burnable is Dummy {90interface ERC721Burnable is Dummy, ERC165 {107 // Selector: burn(uint256) 42966c6891 // Selector: burn(uint256) 42966c68108 function burn(uint256 tokenId) external;92 function burn(uint256 tokenId) external;109}93}11094111interface ERC721Enumerable is Dummy, InlineTotalSupply {95interface ERC721Enumerable is Dummy, ERC165 {112 // Selector: tokenByIndex(uint256) 4f6ccce796 // Selector: tokenByIndex(uint256) 4f6ccce7113 function tokenByIndex(uint256 index) external view returns (uint256);97 function tokenByIndex(uint256 index) external view returns (uint256);11498118 view102 view119 returns (uint256);103 returns (uint256);104105 // Selector: totalSupply() 18160ddd106 function totalSupply() external view returns (uint256);120}107}121108122interface ERC721Metadata is Dummy, InlineNameSymbol {109interface ERC721Metadata is Dummy, ERC165 {110 // Selector: name() 06fdde03111 function name() external view returns (string memory);112113 // Selector: symbol() 95d89b41114 function symbol() external view returns (string memory);115123 // Selector: tokenURI(uint256) c87b56dd116 // Selector: tokenURI(uint256) c87b56dd124 function tokenURI(uint256 tokenId) external view returns (string memory);117 function tokenURI(uint256 tokenId) external view returns (string memory);125}118}126119127interface ERC721Mintable is Dummy, ERC721MintableEvents {120interface ERC721Mintable is Dummy, ERC165, ERC721MintableEvents {128 // Selector: mintingFinished() 05d2035b121 // Selector: mintingFinished() 05d2035b129 function mintingFinished() external view returns (bool);122 function mintingFinished() external view returns (bool);130123142 function finishMinting() external returns (bool);135 function finishMinting() external returns (bool);143}136}144137145interface ERC721UniqueExtensions is Dummy {138interface ERC721UniqueExtensions is Dummy, ERC165 {146 // Selector: transfer(address,uint256) a9059cbb139 // Selector: transfer(address,uint256) a9059cbb147 function transfer(address to, uint256 tokenId) external;140 function transfer(address to, uint256 tokenId) external;141142 // Selector: burnFrom(address,uint256) 79cc6790143 function burnFrom(address from, uint256 tokenId) external;148144149 // Selector: nextTokenId() 75794a3c145 // Selector: nextTokenId() 75794a3c150 function nextTokenId() external view returns (uint256);146 function nextTokenId() external view returns (uint256);