I am developing a Javascript SDK to allow for integration of external services with our Dapp. The SDK calls the smart contracts' methods and therefore needs to know contracts addresses and ABIs.
Some contracts are upgradable so their addresses and ABIs may change in the future.
What would be the best solution? 1) Hardcode addresses and ABI inside the SDK (in a json file) and release a new version of the SDK every time a contract is updated 2) Let the SDK fetch addresses and ABI's from the server (this would require an async initialization of the sdk)