Skip to content

Remove pointsownedby from azimuth to save gas #50

@abliss

Description

@abliss

Spawning/transferring an azimuth point currently costs tens of USD. Some of that gas[1] goes to keeping the pointsownedby mapping up-to-date. If we imagine all 4 billion points being spawned, that's quite a lot of value. (even just moving all 65k stars onto Layer 2 will cost a good chunk of change.)

It seems that the only use for this mapping is the balanceOf function in the ecliptic's ERC721 interface. I doubt that's called by any contract, or ever really will be. It doesn't seem that useful. It's probably called lots by off-chain clients (token trackers and wallets). I propose that we either (a) abandon the ERC721 interface; or (b) return balance=0, and let those clients just be wrong; or (c) implement balanceOf by iterating through all 4 billion points and counting how many have owners that match the given address. This would be slow, but it's better for off-chain clients to be slow for a cosmetic function than for on-chain contracts to be charged gas for essential functions.

[1] I don't know what proportion, but someone could and should estimate it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions