const txb = new TransactionBlock(); const [coin1, coin2] = txb.splitCoins( txb.object(sourceCoinId), [txb.pure(10000), txb.pure(20000)] ); txb.transferObjects( [coin1, coin2], txb.pure(sender) ); const gaslessTx = await txb.build({provider: suiProvider, onlyTransactionKind: true}); const gaslessTxBase64 = btoa( gaslessTx.reduce((data, byte) => data + String.fromCharCode(byte), '') ); const sessionToken = await keyService.shinami_key_createSession(SECRET); const response = await walletService.shinami_wal_executeGaslessTransactionBlock( WALLET_ID, sessionToken, gaslessTxBase64, GAS_BUDGET );