public override Empty RentResourceTokens(RentResourceTokensInput input) { CheckSenderIsCrossChainContract(); State.RentedResourceTokenAmount[input.ChainId.Value] = input.ResourceTokenAmount; if (State.RemainResourceTokenAmount.Value != null) { State.RemainResourceTokenAmount.Value -= input.ResourceTokenAmount; } return(new Empty()); }
public override Empty UpdateRentedResourceTokens(RentResourceTokensInput input) { CheckSenderIsCrossChainContract(); Assert(State.RentedResourceTokenAmount[input.ChainId.Value] != null, "Rented resource amount not found."); var change = input.ResourceTokenAmount - State.RentedResourceTokenAmount[input.ChainId.Value]; State.RentedResourceTokenAmount[input.ChainId.Value] = input.ResourceTokenAmount; if (State.RemainResourceTokenAmount.Value != null) { State.RemainResourceTokenAmount.Value -= change; } return(new Empty()); }