public override AssetMoveReturnDto MoveAssetFromMainAddress(AssetMoveDto input) { var holderInfo = GetHolderInfo(input.HolderId); CheckMoveFromMainPermission(holderInfo, input.Amount); var virtualUserAddress = GetVirtualUserAddress(input); var tokenInput = new TransferInput() { To = Context.ConvertVirtualAddressToContractAddress(virtualUserAddress), Amount = input.Amount, Symbol = holderInfo.Symbol }; Context.SendVirtualInline(input.HolderId, State.TokenContract.Value, nameof(State.TokenContract.Transfer), tokenInput); AssetMoveReturnDto result = new AssetMoveReturnDto(); result.Success = true; return(result); }
private Hash GetVirtualUserAddress(AssetMoveDto input) { var virtualUserAddress = GetVirtualUserAddress(input.HolderId, input.UserToken, input.AddressCategoryHash); return(virtualUserAddress); }
public override Address GetVirtualAddress(AssetMoveDto input) { return(Context.ConvertVirtualAddressToContractAddress(GetVirtualUserAddress(input))); }