code: func (b *SimulatedBackend) PendingCallContract(ctx context.Context, call ethereum.CallMsg) ([]byte, error) {
  	b.mu.Lock()
  	defer b.mu.Unlock()
  	defer b.pendingState.RevertToSnapshot(b.pendingState.Snapshot())
  
  	rval, _, _, err := b.callContract(ctx, call, b.pendingBlock, b.pendingState)
  	return rval, err
  }
docs: // PendingCallContract executes a contract call on the pending state.