It would be nice to see better support for running with a custom: rpc url, network passphrase, contract id. Particularly for testing stuff locally where contracts will have a different address than on futurenet/pubnet. A couple random ideas in that vein:
Maybe generating a:
class Contract(contractAddress: Address, {rpc_url?: string, network_passphrase?: string}?: Options)
let abundance = new abundance.Contract(env.ABUNDANCE_CONTRACT_ID, { rpc_url: "http://localhost:8080/..." });
You could augment this for convenience by exporting a pre-instantiated version of the contract, so users could just do:
import { futurenet } from "abundance-token";
await futurenet.symbol();