plasma-research icon indicating copy to clipboard operation
plasma-research copied to clipboard

Plasma Assets (Deposits + Withdrawals)

Open k06a opened this issue 7 years ago • 0 comments

Depends from #41

Deposit method for ETH:

function deposit(
    OrderedLinkedListItem depositSlot
) external payable returns(bool);

Deposit method for ERC20+ERC721:

function depositToken(
    OrderedLinkedListItem depositSlot,
    address from,
    uint amountOrTokenId
) external returns(bool);

See exit game method signatures: https://hackmd.io/FaKQ5Jc1Qg6rQ3a8xcPj_Q#Exit-game

function withdrawalBegin(
    Input point,  
    RSAInclusionProof proof
) external payable returns (bool);

function withdrawalChallangeSpend(
    ExitState state, 
    Transaction tx,
    uint64 blockIndex,
    SumMerkleProof[] txProof, // serialized to bytes
    uint8 spendIndex,
    RSAInclusionProof spendInclusionProof
) external returns (bool);

function withdrawalChallangeExistance(
    ExitState state,
    SumMerkleProof txProof,
    MerkleProof inputProof, 
    uint64 maxBlockIndex,
    MerkleProof maxBlockIndexProof
) external returns (bool);
    
function withdrawalEnd(
    ExitState state
) external returns (bool);

k06a avatar Nov 16 '18 12:11 k06a