Instantly share code, notes, and snippets.

View upgradeable.sol
/**
* Base contract that all upgradeable contracts should use.
*
* Contracts implementing this interface are all called using delegatecall from
* a dispatcher. As a result, the _sizes and _dest variables are shared with the
* dispatcher contract, which allows the called contract to update these at will.
*
* _sizes is a map of function signatures to return value sizes. Due to EVM
* limitations, these need to be populated by the target contract, so the
* dispatcher knows how many bytes of data to return from called functions.
View main.lua
--[[
Provided by Tim Closs see https://devnet.madewithmarmalade.com/questions/3701/kinematic-bodies-in-marmalade-quick.html
Ping pong game.
Drag the bats up and down, and attempt to keep the ball in play.
The bats and ball are physics "sensor" objects, so generate collision
events but no physical responses.
--]]
local dw = director.displayWidth