Mid 2018 sports betting address: send it ether and it places a bet on your behalf through the bookmaker contract, with your own address recorded as the bettor.
Historical Significance
This is what a betting slip looks like when the user interface is a wallet. In mid 2018 most people interacting with a contract could send ether and nothing more: no ABI, no function selector, often no dapp browser. A system that wanted bets from those people had to make the address carry the information, so it minted an address per market and let the transfer speak.
The design has a property that later became a named pattern. Because the proxy holds no logic and no funds, the market it represents can be settled, paused or repriced entirely in the bookmaker, and the public address stays valid. It is address as identifier rather than address as program, a habit that runs from exchange deposit addresses through to modern counterfactual accounts.
Key Facts
Description
Two hundred and ninety seven bytes, one storage slot and one idea. The slot holds the address of a bookmaker contract, readable through the public getter factory. The fallback takes whatever ether it receives and calls bet on that bookmaker, forwarding the value and passing msg.sender as the argument, so the person who paid is the person credited with the wager.
What the contract does not do is say which wager. There is no match id, no outcome, no calldata at all: a bettor sends a plain transfer and nothing else. The selection is the address itself. The bookmaker knows which market this proxy stands for because it knows which contract called it, and the bettor picks a market by choosing which address to pay.
The bookmaker on the other side is a full betting contract, with createMatch, odds, matches, pauseMatch and setWin among its functions, and its own token. These proxies are the part of that system that faced the public.
Source Verified
Byzantium Era
First Metropolis hard fork. Added zk-SNARK precompiles, REVERT opcode, and staticcall.
Bytecode Overview
Verified Source Available
This contract has verified source code.
View Verification ProofShow source code (Solidity)
// Submitted by EthereumHistory (ethereumhistory.com)
pragma solidity ^0.4.22;
contract BetFactory {
function bet(address _player) public payable;
}
contract BetProxy {
BetFactory public factory;
constructor(address _factory) public {
factory = BetFactory(_factory);
}
function () public payable {
factory.bet.value(msg.value)(msg.sender);
}
}External Links
Related contracts
BetProxy
Same deployerMid 2018 sports betting address: send it ether and it places a bet on your behalf through the bookmaker contract, with your own address recorded as the bettor.
0xa6cf9c...2d0561June 1, 2018BetProxy
Same deployerMid 2018 sports betting address: send it ether and it places a bet on your behalf through the bookmaker contract, with your own address recorded as the bettor.
0x14684b...cc1781June 1, 2018BetProxy
Same deployerMid 2018 sports betting address: send it ether and it places a bet on your behalf through the bookmaker contract, with your own address recorded as the bettor.
0xa96bbf...16b225June 1, 2018BetProxy
Same deployerMid 2018 sports betting address: send it ether and it places a bet on your behalf through the bookmaker contract, with your own address recorded as the bettor.
0xe487b7...dc09c5June 1, 2018BetProxy
Same deployerMid 2018 sports betting address: send it ether and it places a bet on your behalf through the bookmaker contract, with your own address recorded as the bettor.
0x801d9d...037793June 1, 2018BetProxy
Same deployerMid 2018 sports betting address: send it ether and it places a bet on your behalf through the bookmaker contract, with your own address recorded as the bettor.
0x3f83d6...4b472fJune 1, 2018