x
title: 3. empty check
note:
```
pub struct TransactionData {
pub kind: TransactionKind,
sender: SuiAddress,
gas_payment: ObjectRef,
pub gas_price: u64,
pub gas_budget: u64,
}
```
Sponsor -> User: Gas data `ObjectRef`, `price`, `budget` etc
User -> User: construct TransactionData with Gas data, sign
User -> Sponsor: TransactionData and user sig
Sponsor -> Sponsor: check tx, sign TransactionData
Sponsor -> FullNode: submit dual signed transaction
3. empty check
Sponsor
User
FullNode
pub struct TransactionData {
pub kind: TransactionKind,
sender: SuiAddress,
gas_payment: ObjectRef,
pub gas_price: u64,
pub gas_budget: u64,
}
Sponsor
User
FullNode
Sponsor
User
FullNode