MultiBaas generates its own stable ABI that provides a stable platform to build DApps on. The MultiBaas ABI, along with the rest of the MultiBaas REST API, is versioned and the ABI will remain stable within the same version of the REST API.
The MultiBaas ABI combines the information provided by the solc ABI output, solc developer and user documentation output, and extra MultiBaas metadata, into a single data structure. It represents the state of a smart contract based on the ABI derived from its Solidity source code, and meta-configuration as persisted in MultiBaas.
The following is a comparison of the high level structure of the solc ABI vs. the MultiBaas ABI:
When making a GET request for an uploaded contract, the response will contain both an abi field which is the enhanced MultiBaas ABI and a rawAbi field which is the ABI generated by solc.
Here is an example for a simple contract that has one method "tentacles" that returns a uint256:
And here is the result of querying that contract after it has been uploaded in MultiBaas: